HUD 정보 표시
화면 위 표시좌표, 경험치, 알림 같은 정보를 화면 위에 띄웁니다.
JSON UI는 어렵게 느껴질 수 있습니다. 이 문서는 처음 배우는 사람도 이해할 수 있도록 쉬운 말과 예시로 설명합니다. 실제 예제에서 확인된 패턴을 문서처럼 정리했습니다.
필요한 묶음만 골라서 읽을 수 있습니다. 검색은 전체 문서를 대상으로 합니다.
궁금한 단어를 입력하면 관련 섹션을 빠르게 찾을 수 있습니다.
공식 문서, 커뮤니티, 툴을 함께 활용하면 학습 속도가 크게 올라갑니다.
게임에서 바로 보이는 화면을 먼저 보면 공부가 훨씬 쉬워집니다.
좌표, 경험치, 알림 같은 정보를 화면 위에 띄웁니다.
서버에서 띄우는 선택창을 내 스타일로 바꿉니다.
NPC 얼굴과 대사를 더 보기 좋게 구성합니다.
배경, 버튼, 아이콘을 바꿔서 UI 느낌을 바꿉니다.
직접 화면이 움직이는 걸 보면 이해가 훨씬 빨라집니다. 아래 링크는 시작점으로만 사용하세요.
예제들을 큰 범주 → 작은 범주로 묶어두었습니다. 필요한 부분만 골라 보세요.
파일 이름을 누르면 바로 아래 예제 내용으로 이동합니다.
예제 목록에서 고른 파일이 여기로 연결됩니다. 코드 상단 주석은 왜 이 줄을 쓰는지 설명합니다.
필요한 부분만 참고해서 가져가세요.
// 예제: compatibility.json
// 분류: RainbowPie UI / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_compatibility_config",
// Only override compatibility panels
"compatibility_variables": {
// 오버라이드 가능한 변수
"$compatibility_target_version": 12111300,
// 오버라이드 가능한 변수
"$compatibility_max_version": 12111900,
// 오버라이드 가능한 변수
"$compatibility_min_version": 12111000
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: module_pack.json
// 분류: RainbowPie UI / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_module_pack",
// 다른 템플릿을 가져와서 확장(상속)
"module_list@rainbowpie_ui_module_list.module_list_panel": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"chest_fastpick@rainbowpie_ui_module_list.module_item": {
// 오버라이드 가능한 변수
"$module_icon_texture": "($rainbowpie_ui_path_home + '/icon/module')",
// 오버라이드 가능한 변수
"$module_name": "Chest Fast Pickup",
// 오버라이드 가능한 변수
"$module_version": "1.5",
// 오버라이드 가능한 변수
"$module_author": "MintCoolMC",
// 오버라이드 가능한 변수
"$module_description": "Quickly pick items from chest",
// 오버라이드 가능한 변수
"$module_state_check": "$rainbowpie_ui_module_chest_fastpick",
// 오버라이드 가능한 변수
"$module_max_engine_version": "999999",
// 오버라이드 가능한 변수
"$module_max_engine_patch_version": "999999",
// 오버라이드 가능한 변수
"$module_min_engine_version": "0",
// 오버라이드 가능한 변수
"$module_min_engine_patch_version": "0",
// 오버라이드 가능한 변수
"$module_variable_display": true,
// 오버라이드 가능한 변수
"$module_variables": [
{
// 다른 템플릿을 가져와서 확장(상속)
"redstone_blocks@rainbowpie_ui_module_list.module_variable_item": {
// 오버라이드 가능한 변수
"$variable_name": "$rainbowpie_ui_moduleflag_chest_fastpick_redstone_blocks",
// 오버라이드 가능한 변수
"$variable_name_display": "rainbowpie_ui_moduleflag_chest_fastpick_redstone_blocks",
// 오버라이드 가능한 변수
"$variable_description": "Allow use fastpick in redstone blocks (hopper, dropper, dispenser, crafter)"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hud_block_counter@rainbowpie_ui_module_list.module_item": {
// 오버라이드 가능한 변수
"$module_icon_texture": "($rainbowpie_ui_path_home + '/module/hud_block_counter')",
// 오버라이드 가능한 변수
"$module_name": "HUD Block Counter",
// 오버라이드 가능한 변수
"$module_version": "2.1",
// 오버라이드 가능한 변수
"$module_author": "MintCoolMC",
// 오버라이드 가능한 변수
"$module_description": "Shows the total count of held blocks in the hotbar",
// 오버라이드 가능한 변수
"$module_state_check": "$rainbowpie_ui_module_hud_block_counter",
// 오버라이드 가능한 변수
"$module_max_engine_version": "999999",
// 오버라이드 가능한 변수
"$module_max_engine_patch_version": "999999",
// 오버라이드 가능한 변수
"$module_min_engine_version": "0",
// 오버라이드 가능한 변수
"$module_min_engine_patch_version": "0"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hud_bow_helper@rainbowpie_ui_module_list.module_item": {
// 오버라이드 가능한 변수
"$module_icon_texture": "($rainbowpie_ui_path_home + '/module/hud_bow_helper')",
// 오버라이드 가능한 변수
"$module_name": "HUD Bow Helper",
// 오버라이드 가능한 변수
"$module_version": "2.0",
// 오버라이드 가능한 변수
"$module_author": "MintCoolMC",
// 오버라이드 가능한 변수
"$module_description": "Shows the total count of arrows in the inventory",
// 오버라이드 가능한 변수
"$module_state_check": "$rainbowpie_ui_module_hud_bow_helper",
// 오버라이드 가능한 변수
"$module_max_engine_version": "999999",
// 오버라이드 가능한 변수
"$module_max_engine_patch_version": "999999",
// 오버라이드 가능한 변수
"$module_min_engine_version": "0",
// 오버라이드 가능한 변수
"$module_min_engine_patch_version": "0"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hud_compass@rainbowpie_ui_module_list.module_item": {
// 오버라이드 가능한 변수
"$module_icon_texture": "($rainbowpie_ui_path_home + '/module/hud_compass')",
// 오버라이드 가능한 변수
"$module_name": "HUD Compass",
// 오버라이드 가능한 변수
"$module_version": "1.0",
// 오버라이드 가능한 변수
"$module_author": "MintCoolMC",
// 오버라이드 가능한 변수
"$module_description": "Show clock & compass on the HUD when you have them in your inventory",
// 오버라이드 가능한 변수
"$module_state_check": "$rainbowpie_ui_module_hud_compass",
// 오버라이드 가능한 변수
"$module_max_engine_version": "999999",
// 오버라이드 가능한 변수
"$module_max_engine_patch_version": "999999",
// 오버라이드 가능한 변수
"$module_min_engine_version": "0",
// 오버라이드 가능한 변수
"$module_min_engine_patch_version": "0"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hud_selected_item_id@rainbowpie_ui_module_list.module_item": {
// 오버라이드 가능한 변수
"$module_icon_texture": "($rainbowpie_ui_path_home + '/module/hud_selected_item_id')",
// 오버라이드 가능한 변수
"$module_name": "HUD Selected Item ID",
// 오버라이드 가능한 변수
"$module_version": "1.0",
// 오버라이드 가능한 변수
"$module_author": "MintCoolMC",
// 오버라이드 가능한 변수
"$module_description": "DEBUG",
// 오버라이드 가능한 변수
"$module_state_check": "$rainbowpie_ui_module_hud_selected_item_id",
// 오버라이드 가능한 변수
"$module_max_engine_version": "999999",
// 오버라이드 가능한 변수
"$module_max_engine_patch_version": "999999",
// 오버라이드 가능한 변수
"$module_min_engine_version": "0",
// 오버라이드 가능한 변수
"$module_min_engine_patch_version": "0"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_actions@rainbowpie_ui_module_list.module_item": {
// 오버라이드 가능한 변수
"$module_icon_texture": "($rainbowpie_ui_path_home + '/icon/module')",
// 오버라이드 가능한 변수
"$module_name": "Inventory Actions",
// 오버라이드 가능한 변수
"$module_version": "1.7",
// 오버라이드 가능한 변수
"$module_author": "MintCoolMC",
// 오버라이드 가능한 변수
"$module_description": "More Actions in inventory.",
// 오버라이드 가능한 변수
"$module_state_check": "$rainbowpie_ui_module_inventory_actions",
// 오버라이드 가능한 변수
"$module_max_engine_version": "999999",
// 오버라이드 가능한 변수
"$module_max_engine_patch_version": "999999",
// 오버라이드 가능한 변수
"$module_min_engine_version": "0",
// 오버라이드 가능한 변수
"$module_min_engine_patch_version": "0",
// 오버라이드 가능한 변수
"$module_variable_display": true,
// 오버라이드 가능한 변수
"$module_variables": [
{
// 다른 템플릿을 가져와서 확장(상속)
"delete_item_enabled@rainbowpie_ui_module_list.module_variable_item": {
// 오버라이드 가능한 변수
"$variable_name": "$rainbowpie_ui_moduleflag_inventory_actions_delete_item_enabled",
// 오버라이드 가능한 변수
"$variable_name_display": "rainbowpie_ui_moduleflag_inventory_actions_delete_item_enabled",
// 오버라이드 가능한 변수
"$variable_description": "Enable delete item button in creative mode"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"delete_all_item_enabled@rainbowpie_ui_module_list.module_variable_item": {
// 오버라이드 가능한 변수
"$variable_name": "$rainbowpie_ui_moduleflag_inventory_actions_delete_all_item_enabled",
// 오버라이드 가능한 변수
"$variable_name_display": "rainbowpie_ui_moduleflag_inventory_actions_delete_all_item_enabled",
// 오버라이드 가능한 변수
"$variable_description": "Enable delete all items button in creative mode"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"drop_item_enabled@rainbowpie_ui_module_list.module_variable_item": {
// 오버라이드 가능한 변수
"$variable_name": "$rainbowpie_ui_moduleflag_inventory_actions_drop_item_enabled",
// 오버라이드 가능한 변수
"$variable_name_display": "rainbowpie_ui_moduleflag_inventory_actions_drop_item_enabled",
// 오버라이드 가능한 변수
"$variable_description": "Enable drop item button"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"drop_all_item_enabled@rainbowpie_ui_module_list.module_variable_item": {
// 오버라이드 가능한 변수
"$variable_name": "$rainbowpie_ui_moduleflag_inventory_actions_drop_all_item_enabled",
// 오버라이드 가능한 변수
"$variable_name_display": "rainbowpie_ui_moduleflag_inventory_actions_drop_all_item_enabled",
// 오버라이드 가능한 변수
"$variable_description": "Enable drop all items button"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"quick_craft_enabled@rainbowpie_ui_module_list.module_variable_item": {
// 오버라이드 가능한 변수
"$variable_name": "$rainbowpie_ui_moduleflag_inventory_actions_quick_craft_enabled",
// 오버라이드 가능한 변수
"$variable_name_display": "rainbowpie_ui_moduleflag_inventory_actions_quick_craft_enabled",
// 오버라이드 가능한 변수
"$variable_description": "Enable quick craft button"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_switch_enabled@rainbowpie_ui_module_list.module_variable_item": {
// 오버라이드 가능한 변수
"$variable_name": "$rainbowpie_ui_moduleflag_inventory_actions_armor_switch_enabled",
// 오버라이드 가능한 변수
"$variable_name_display": "rainbowpie_ui_moduleflag_inventory_actions_armor_switch_enabled",
// 오버라이드 가능한 변수
"$variable_description": "Enable armor switching"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"bce3269f@rainbowpie_ui_module_list.module_variable_item": {
// 오버라이드 가능한 변수
"$variable_name": "$rainbowpie_ui_flag_bce3269f",
// 오버라이드 가능한 변수
"$variable_name_display": "rainbowpie_ui_flag_bce3269f",
// 오버라이드 가능한 변수
"$variable_description": "InventoryUI new touch mode drop"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"lib_hud_item@rainbowpie_ui_module_list.module_item": {
// 오버라이드 가능한 변수
"$module_icon_texture": "($rainbowpie_ui_path_home + '/icon/module')",
// 오버라이드 가능한 변수
"$module_name": "HUD Item Lib",
// 오버라이드 가능한 변수
"$module_version": "2.1",
// 오버라이드 가능한 변수
"$module_author": "MintCoolMC, 衡川(Crosmover)",
// 오버라이드 가능한 변수
"$module_description": "module lib hud item",
// 오버라이드 가능한 변수
"$module_state_check": true,
// 오버라이드 가능한 변수
"$module_max_engine_version": "999999",
// 오버라이드 가능한 변수
"$module_max_engine_patch_version": "999999",
// 오버라이드 가능한 변수
"$module_min_engine_version": "0",
// 오버라이드 가능한 변수
"$module_min_engine_patch_version": "0"
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: pixelart.json
// 분류: RainbowPie UI / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_pixelart",
// ???/?? ??
"transparent_pixel": {
// 이미지 표시
"type": "image",
// 오버라이드 가능한 변수
"$pixel_size|default": [ 1, 1 ],
// 가로/세로 크기
"size": "$pixel_size"
},
// ???/?? ??
"color_pixel": {
// 이미지 표시
"type": "image",
// 오버라이드 가능한 변수
"$pixel_size|default": [ 1, 1 ],
// 가로/세로 크기
"size": "$pixel_size",
// 사용할 이미지 경로
"texture": "textures/ui/White"
},
// ???/?? ??
"niko_oneshot": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%cm", "100%c" ], // 29x31 pixels
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"pixel_29x1": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x2": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x3": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5450980392156862,
0.2431372549019608,
0.4
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x4": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5568627450980392,
0.2509803921568628,
0.4117647058823529
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5568627450980392,
0.2509803921568628,
0.4117647058823529
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x5": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5568627450980392,
0.2509803921568628,
0.4117647058823529
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5568627450980392,
0.2509803921568628,
0.4117647058823529
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5568627450980392,
0.2509803921568628,
0.4117647058823529
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x6": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5568627450980392,
0.2509803921568628,
0.4117647058823529
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5568627450980392,
0.2509803921568628,
0.4117647058823529
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5568627450980392,
0.2509803921568628,
0.4117647058823529
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5568627450980392,
0.2509803921568628,
0.4117647058823529
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x7": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5568627450980392,
0.2509803921568628,
0.4117647058823529
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5568627450980392,
0.2509803921568628,
0.4117647058823529
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5568627450980392,
0.2509803921568628,
0.4117647058823529
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5568627450980392,
0.2509803921568628,
0.4117647058823529
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5529411764705883,
0.2509803921568628,
0.407843137254902
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x8": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x9": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x10": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4705882352941176,
0.1372549019607843,
0.3098039215686274
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.0666666666666667,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x11": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.2784313725490196,
0.1803921568627451,
0.5372549019607843
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.2784313725490196,
0.1803921568627451,
0.5372549019607843
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.2784313725490196,
0.1803921568627451,
0.5372549019607843
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.2784313725490196,
0.1803921568627451,
0.5372549019607843
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.2784313725490196,
0.1803921568627451,
0.5372549019607843
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.2784313725490196,
0.1803921568627451,
0.5372549019607843
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.2784313725490196,
0.1803921568627451,
0.5372549019607843
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.2784313725490196,
0.1803921568627451,
0.5372549019607843
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.2784313725490196,
0.1803921568627451,
0.5372549019607843
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.2784313725490196,
0.1803921568627451,
0.5372549019607843
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.2784313725490196,
0.1803921568627451,
0.5372549019607843
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.2784313725490196,
0.1803921568627451,
0.5372549019607843
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.2784313725490196,
0.1803921568627451,
0.5372549019607843
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.2784313725490196,
0.1803921568627451,
0.5372549019607843
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.2784313725490196,
0.1803921568627451,
0.5372549019607843
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.2784313725490196,
0.1803921568627451,
0.5372549019607843
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.2784313725490196,
0.1803921568627451,
0.5372549019607843
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.2784313725490196,
0.1803921568627451,
0.5372549019607843
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.2784313725490196,
0.1803921568627451,
0.5372549019607843
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x12": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.2784313725490196,
0.1803921568627451,
0.5372549019607843
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.396078431372549,
0.1019607843137255,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
1.0,
1.0,
1.0
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.9647058823529412,
0.6470588235294118,
0.3647058823529412
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3568627450980392,
0.2784313725490196,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3568627450980392,
0.2784313725490196,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3568627450980392,
0.2784313725490196,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3568627450980392,
0.2784313725490196,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3568627450980392,
0.2784313725490196,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.396078431372549,
0.1019607843137255,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
1.0,
1.0,
1.0
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.9647058823529412,
0.6470588235294118,
0.3647058823529412
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.2784313725490196,
0.1803921568627451,
0.5372549019607843
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x13": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.9647058823529412,
0.6470588235294118,
0.3647058823529412
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.396078431372549,
0.1019607843137255,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.9647058823529412,
0.6470588235294118,
0.3647058823529412
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.9647058823529412,
0.6470588235294118,
0.3647058823529412
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.9647058823529412,
0.6470588235294118,
0.3647058823529412
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3568627450980392,
0.2784313725490196,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3568627450980392,
0.2784313725490196,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3568627450980392,
0.2784313725490196,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.9647058823529412,
0.6470588235294118,
0.3647058823529412
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.396078431372549,
0.1019607843137255,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.9647058823529412,
0.6470588235294118,
0.3647058823529412
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.9647058823529412,
0.6470588235294118,
0.3647058823529412
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.9647058823529412,
0.6470588235294118,
0.3647058823529412
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.2784313725490196,
0.1803921568627451,
0.5372549019607843
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x14": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.9647058823529412,
0.6470588235294118,
0.3647058823529412
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.396078431372549,
0.1019607843137255,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.9647058823529412,
0.6470588235294118,
0.3647058823529412
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.9647058823529412,
0.6470588235294118,
0.3647058823529412
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.9647058823529412,
0.6470588235294118,
0.3647058823529412
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3568627450980392,
0.2784313725490196,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3568627450980392,
0.2784313725490196,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.9647058823529412,
0.6470588235294118,
0.3647058823529412
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.396078431372549,
0.1019607843137255,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.9647058823529412,
0.6470588235294118,
0.3647058823529412
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.9647058823529412,
0.6470588235294118,
0.3647058823529412
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.9647058823529412,
0.6470588235294118,
0.3647058823529412
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x15": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
1.0,
0.792156862745098,
0.2509803921568628
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.415686274509804,
0.1176470588235294,
0.2745098039215686
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
1.0,
0.792156862745098,
0.2509803921568628
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
1.0,
0.792156862745098,
0.2509803921568628
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
1.0,
0.792156862745098,
0.2509803921568628
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
1.0,
0.792156862745098,
0.2509803921568628
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.415686274509804,
0.1176470588235294,
0.2745098039215686
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
1.0,
0.792156862745098,
0.2509803921568628
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
1.0,
0.792156862745098,
0.2509803921568628
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
1.0,
0.792156862745098,
0.2509803921568628
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x16": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
1.0,
0.792156862745098,
0.2509803921568628
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
1.0,
0.792156862745098,
0.2509803921568628
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
1.0,
0.792156862745098,
0.2509803921568628
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
1.0,
0.792156862745098,
0.2509803921568628
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
1.0,
0.792156862745098,
0.2509803921568628
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
1.0,
0.792156862745098,
0.2509803921568628
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.6784313725490196,
0.3450980392156862,
0.3568627450980392
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x17": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.6784313725490196,
0.3450980392156862,
0.3568627450980392
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.6784313725490196,
0.3450980392156862,
0.3568627450980392
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x18": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.6784313725490196,
0.3450980392156862,
0.3568627450980392
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.7019607843137254,
0.4470588235294118,
0.4549019607843137
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.6784313725490196,
0.3450980392156862,
0.3568627450980392
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x19": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4117647058823529,
0.396078431372549,
0.8
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4117647058823529,
0.396078431372549,
0.8
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4117647058823529,
0.396078431372549,
0.8
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4117647058823529,
0.396078431372549,
0.8
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4117647058823529,
0.396078431372549,
0.8
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4117647058823529,
0.396078431372549,
0.8
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4117647058823529,
0.396078431372549,
0.8
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4117647058823529,
0.396078431372549,
0.8
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4117647058823529,
0.396078431372549,
0.8
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4117647058823529,
0.396078431372549,
0.8
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3647058823529412,
0.2745098039215686,
0.5882352941176471
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1333333333333333,
0.0588235294117647,
0.3294117647058824
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x20": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4117647058823529,
0.396078431372549,
0.8
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4117647058823529,
0.396078431372549,
0.8
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4117647058823529,
0.396078431372549,
0.8
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4117647058823529,
0.396078431372549,
0.8
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4117647058823529,
0.396078431372549,
0.8
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4117647058823529,
0.396078431372549,
0.8
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4117647058823529,
0.396078431372549,
0.8
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4117647058823529,
0.396078431372549,
0.8
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4117647058823529,
0.396078431372549,
0.8
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4117647058823529,
0.396078431372549,
0.8
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.196078431372549,
0.1098039215686274,
0.4196078431372549
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x21": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x22": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5568627450980392,
0.2509803921568628,
0.4117647058823529
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5568627450980392,
0.2509803921568628,
0.4117647058823529
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5568627450980392,
0.2509803921568628,
0.4117647058823529
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x23": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x24": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5568627450980392,
0.2509803921568628,
0.4117647058823529
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5568627450980392,
0.2509803921568628,
0.4117647058823529
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5568627450980392,
0.2509803921568628,
0.4117647058823529
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x25": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5568627450980392,
0.2509803921568628,
0.4117647058823529
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5568627450980392,
0.2509803921568628,
0.4117647058823529
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.5568627450980392,
0.2509803921568628,
0.4117647058823529
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x26": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x27": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x28": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1686274509803922,
0.0509803921568627,
0.2235294117647059
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1686274509803922,
0.0509803921568627,
0.2235294117647059
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1686274509803922,
0.0509803921568627,
0.2235294117647059
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1686274509803922,
0.0509803921568627,
0.2235294117647059
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1686274509803922,
0.0509803921568627,
0.2235294117647059
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1686274509803922,
0.0509803921568627,
0.2235294117647059
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x29": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1686274509803922,
0.0509803921568627,
0.2235294117647059
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1686274509803922,
0.0509803921568627,
0.2235294117647059
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1686274509803922,
0.0509803921568627,
0.2235294117647059
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1686274509803922,
0.0509803921568627,
0.2235294117647059
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1686274509803922,
0.0509803921568627,
0.2235294117647059
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1686274509803922,
0.0509803921568627,
0.2235294117647059
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4196078431372549,
0.1411764705882353,
0.3215686274509804
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
}
]
}
},
{
// ???/?? ??
"pixel_29x30": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3098039215686274,
0.2509803921568628,
0.7294117647058823
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1686274509803922,
0.0509803921568627,
0.2235294117647059
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1686274509803922,
0.0509803921568627,
0.2235294117647059
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1686274509803922,
0.0509803921568627,
0.2235294117647059
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.0862745098039216,
0.0,
0.1568627450980392
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.0862745098039216,
0.0,
0.1568627450980392
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.0862745098039216,
0.0,
0.1568627450980392
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.0862745098039216,
0.0,
0.1568627450980392
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.0862745098039216,
0.0,
0.1568627450980392
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1686274509803922,
0.0509803921568627,
0.2235294117647059
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1686274509803922,
0.0509803921568627,
0.2235294117647059
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1686274509803922,
0.0509803921568627,
0.2235294117647059
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.0862745098039216,
0.0,
0.1568627450980392
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.0862745098039216,
0.0,
0.1568627450980392
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.0862745098039216,
0.0,
0.1568627450980392
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.0862745098039216,
0.0,
0.1568627450980392
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
},
{
// ???/?? ??
"pixel_29x31": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_1@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_2@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_3@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_4@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1686274509803922,
0.0509803921568627,
0.2235294117647059
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_5@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1686274509803922,
0.0509803921568627,
0.2235294117647059
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_6@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1686274509803922,
0.0509803921568627,
0.2235294117647059
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_7@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.0862745098039216,
0.0,
0.1568627450980392
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_8@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.0862745098039216,
0.0,
0.1568627450980392
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_9@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.0862745098039216,
0.0,
0.1568627450980392
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_10@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.0862745098039216,
0.0,
0.1568627450980392
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_11@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.0862745098039216,
0.0,
0.1568627450980392
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_12@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1686274509803922,
0.0509803921568627,
0.2235294117647059
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_13@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1686274509803922,
0.0509803921568627,
0.2235294117647059
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_14@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.1686274509803922,
0.0509803921568627,
0.2235294117647059
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_15@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.0862745098039216,
0.0,
0.1568627450980392
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_16@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.0862745098039216,
0.0,
0.1568627450980392
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_17@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.0862745098039216,
0.0,
0.1568627450980392
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_18@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.0862745098039216,
0.0,
0.1568627450980392
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_19@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_20@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_21@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_22@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_23@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.3372549019607844,
0.1058823529411765,
0.2588235294117648
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_24@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_25@rainbowpieui_pixelart.color_pixel": {
// ?? (R,G,B,A)
"color": [
0.4431372549019608,
0.1803921568627451,
0.6274509803921569
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_26@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_27@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_28@rainbowpieui_pixelart.transparent_pixel": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pixel_29@rainbowpieui_pixelart.transparent_pixel": { }
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: rainbowpie_ui_animations.json
// 분류: RainbowPie UI / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpie_ui_animations",
// ???/?? ??
"container_panel_exit_animation_push": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_84df7492)",
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_container_v2_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_container_v2_transition_time",
// 시작 값
"from": [ "100%", "100%" ],
// 끝 값
"to": [ "50%", "50%" ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_3eb56fef",
// 오버라이드 가능한 변수
"$rainbowpie_ui_animation_container_v2_transition_time": 0.0
}
]
},
// ???/?? ??
"container_panel_exit_animation_pop": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_84df7492)",
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_container_v2_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_container_v2_transition_time",
// 시작 값
"from": [ "100%", "100%" ],
// 끝 값
"to": [ "50%", "50%" ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_3eb56fef",
// 오버라이드 가능한 변수
"$rainbowpie_ui_animation_container_v2_transition_time": 0.0
}
]
},
// ???/?? ??
"container_panel_entrance_animation_push": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_84df7492)",
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_container_v2_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_container_v2_transition_time",
// 시작 값
"from": [ "50%", "50%" ],
// 끝 값
"to": [ "100%", "100%" ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"container_panel_entrance_animation_pop": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_84df7492)",
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_container_v2_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_container_v2_transition_time",
// 시작 값
"from": [ "50%", "50%" ],
// 끝 값
"to": [ "100%", "100%" ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"container_screen_exit_animation_push": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_84df7492",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_container_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_container_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ "-3%", 0 ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_3eb56fef",
// 오버라이드 가능한 변수
"$rainbowpie_ui_animation_container_transition_time": 0.0
}
]
},
// ???/?? ??
"container_screen_exit_animation_pop": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_84df7492",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_container_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_container_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ 0, "6%" ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_3eb56fef",
// 오버라이드 가능한 변수
"$rainbowpie_ui_animation_container_transition_time": 0.0
}
]
},
// ???/?? ??
"container_screen_entrance_animation_push": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_84df7492",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_container_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_container_transition_time",
// 시작 값
"from": [ 0, "6%" ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"container_screen_entrance_animation_pop": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_84df7492",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_container_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_container_transition_time",
// 시작 값
"from": [ "-3%", 0 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"screen_exit_animation_push_offset": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_screen_ingame_anim2",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ "-15%", 0 ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"screen_exit_animation_pop_offset": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_screen_ingame_anim1",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ "15%", 0 ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"screen_entrance_animation_push_offset": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_screen_ingame_anim1",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ "15%", 0 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"screen_entrance_animation_pop_offset": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_screen_ingame_anim2",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ "-15%", 0 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"screen_exit_animation_push_offset_ingame": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screen_ingame_anim2)",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ 0, "15%"],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"screen_exit_animation_pop_offset_ingame": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screen_ingame_anim1)",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ 0, "15%" ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"screen_entrance_animation_push_offset_ingame": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screen_ingame_anim1)",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "15%" ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"screen_entrance_animation_pop_offset_ingame": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screen_ingame_anim2)",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "15%" ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"header_exit_animation_push_offset": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_screenheader_ingame_anim2",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ "-20%", 0 ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"header_exit_animation_pop_offset": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_screenheader_ingame_anim1",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ "20%", 0 ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"header_entrance_animation_push_offset": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_screenheader_ingame_anim1",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ "20%", 0 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"header_entrance_animation_pop_offset": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_screenheader_ingame_anim2",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ "-20%", 0 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"header_exit_animation_push_offset_ingame": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screenheader_ingame_anim2)",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"header_exit_animation_pop_offset_ingame": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screenheader_ingame_anim1)",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"header_entrance_animation_push_offset_ingame": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screenheader_ingame_anim1)",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"header_entrance_animation_pop_offset_ingame": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screenheader_ingame_anim2)",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"header_exit_animation_push_offset_both": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_screenheader_ingame_anim2",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"header_exit_animation_pop_offset_both": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_screenheader_ingame_anim1",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"header_entrance_animation_push_offset_both": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_screenheader_ingame_anim1",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"header_entrance_animation_pop_offset_both": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_screenheader_ingame_anim2",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"header_exit_animation_push_offset_both_ingame": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screenheader_ingame_anim2)",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ 0, -24 ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"header_exit_animation_pop_offset_both_ingame": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screenheader_ingame_anim1)",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ 0, -24 ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"header_entrance_animation_push_offset_both_ingame": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screenheader_ingame_anim1)",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, -24 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"header_entrance_animation_pop_offset_both_ingame": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screenheader_ingame_anim2)",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, -24 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// Header Background Animations
"header_background_exit_animation_push_offset1": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_screenheader_ingame_anim2",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "-100% + 20px" ],
// 끝 값
"to": [ 0, "-100% + 20px" ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"header_background_exit_animation_push_offset2": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_screenheader_ingame_anim2",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "100% - 20px" ],
// 끝 값
"to": [ 0, "100% - 20px" ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"header_background_exit_animation_pop_offset1": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_screenheader_ingame_anim1",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "-100% + 20px" ],
// 끝 값
"to": [ 0, "-100% + 20px" ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"header_background_exit_animation_pop_offset2": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_screenheader_ingame_anim1",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "100% - 20px" ],
// 끝 값
"to": [ 0, "100% - 20px" ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"header_background_entrance_animation_push_offset1": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_screenheader_ingame_anim1",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "-100% + 20px" ],
// 끝 값
"to": [ 0, "-100% + 20px" ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"header_background_entrance_animation_push_offset2": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_screenheader_ingame_anim1",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "100% - 20px" ],
// 끝 값
"to": [ 0, "100% - 20px" ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"header_background_entrance_animation_pop_offset1": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_screenheader_ingame_anim2",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "-100% + 20px" ],
// 끝 값
"to": [ 0, "-100% + 20px" ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"header_background_entrance_animation_pop_offset2": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_screenheader_ingame_anim2",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "100% - 20px" ],
// 끝 값
"to": [ 0, "100% - 20px" ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"header_background_exit_animation_push_offset_ingame1": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screenheader_ingame_anim2)",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "-100% + 20px" ],
// 끝 값
"to": [ 0, "-100% - 4px" ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"header_background_exit_animation_push_offset_ingame2": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screenheader_ingame_anim2)",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "100% - 20px" ],
// 끝 값
"to": [ 0, "100% + 4px" ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"header_background_exit_animation_pop_offset_ingame1": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screenheader_ingame_anim1)",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "-100% + 20px" ],
// 끝 값
"to": [ 0, "-100% - 4px" ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"header_background_exit_animation_pop_offset_ingame2": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screenheader_ingame_anim1)",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "100% - 20px" ],
// 끝 값
"to": [ 0, "100% + 4px" ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"header_background_entrance_animation_push_offset_ingame1": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screenheader_ingame_anim1)",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "-100% - 4px" ],
// 끝 값
"to": [ 0, "-100% + 20px" ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"header_background_entrance_animation_push_offset_ingame2": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screenheader_ingame_anim1)",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "100% + 4px" ],
// 끝 값
"to": [ 0, "100% - 20px" ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"header_background_entrance_animation_pop_offset_ingame1": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screenheader_ingame_anim2)",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "-100% - 4px" ],
// 끝 값
"to": [ 0, "-100% + 20px" ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"header_background_entrance_animation_pop_offset_ingame2": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screenheader_ingame_anim2)",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "100% + 4px" ],
// 끝 값
"to": [ 0, "100% - 20px" ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// 다른 템플릿을 가져와서 확장(상속)
"background_entrance_animation_push_fade_long@rainbowpie_ui_animations.background_entrance_animation_push_fade": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_background_longer_anim",
// 시작 값
"from": 0.0
},
// ???/?? ??
"background_entrance_animation_push_fade": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_background_longer_anim)",
// 투명도 변화
"anim_type": "alpha",
// 걸리는 시간(초)
"duration": "$transition_time_pop",
// 시작 값
"from": 1.0,
// 끝 값
"to": 0.0,
"play_event": "screen.entrance_push"
},
// ???/?? ??
"background_entrance_animation_pop_fade": {
// 투명도 변화
"anim_type": "alpha",
// 걸리는 시간(초)
"duration": "$transition_time_pop",
// 시작 값
"from": 1.0,
// 끝 값
"to": 0.0,
"play_event": "screen.entrance_pop"
},
// ???/?? ??
"background_exit_animation_push_fade": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "out_cubic",
// 걸리는 시간(초)
"duration": "$loading_bar_transition",
// 시작 값
"from": 1.0,
// 끝 값
"to": 1.0,
"play_event": "screen.exit_push"
},
// ???/?? ??
"background_exit_animation_pop_fade": {
// 투명도 변화
"anim_type": "alpha",
// 걸리는 시간(초)
"duration": "$transition_time_pop",
// 시작 값
"from": 1.0,
// 끝 값
"to": 0.0,
"play_event": "screen.exit_pop"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: rainbowpie_ui_controls.json
// 분류: RainbowPie UI / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpie_ui_controls",
// ???/?? ??
"scroll_background_image": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 사용할 이미지 경로
"texture": "textures/ui/recipe_book_pane_bg"
},
// 다른 템플릿을 가져와서 확장(상속)
"scroll_indent_image@common.scroll_indent_image": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_scrollbar_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_scrollbar_background_alpha"
},
// 다른 템플릿을 가져와서 확장(상속)
"scrollbar_box_image@common.scrollbar_box_image": {
// 가로/세로 크기
"size": [ 3, "100%" ],
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_scrollbar_color",
// ???
"alpha": "$rainbowpie_ui_theme_scrollbar_alpha"
},
// ???/?? ??
"RainbowPieHeaderMask": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 완전히 제거(공간도 없음)
"ignored": "($is_pregame)",
// 오버라이드 가능한 변수
"$BlurLayer|default": -50,
// 겹치는 순서(숫자 클수록 위)
"layer": "$BlurLayer",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"mask_layer@mintui_background.background_mask": {
// 오버라이드 가능한 변수
"$background_offset": [ 0, "-100% + 20px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ 0, "100% - 20px" ],
// 오버라이드 가능한 변수
"$background_layer": 2,
// 오버라이드 가능한 변수
"$background_anims": "$HeaderBlurAnims",
// 오버라이드 가능한 변수
"$HeaderBlurAnims|default": [
"@rainbowpie_ui_animations.header_background_exit_animation_push_offset1",
"@rainbowpie_ui_animations.header_background_exit_animation_pop_offset1",
"@rainbowpie_ui_animations.header_background_entrance_animation_push_offset1",
"@rainbowpie_ui_animations.header_background_entrance_animation_pop_offset1",
"@rainbowpie_ui_animations.header_background_exit_animation_push_offset_ingame1",
"@rainbowpie_ui_animations.header_background_exit_animation_pop_offset_ingame1",
"@rainbowpie_ui_animations.header_background_entrance_animation_push_offset_ingame1",
"@rainbowpie_ui_animations.header_background_entrance_animation_pop_offset_ingame1"
],
// 오버라이드 가능한 변수
"$background_children_anims": "$HeaderBlur2Anims",
// 오버라이드 가능한 변수
"$HeaderBlur2Anims|default": [
"@rainbowpie_ui_animations.header_background_exit_animation_push_offset2",
"@rainbowpie_ui_animations.header_background_exit_animation_pop_offset2",
"@rainbowpie_ui_animations.header_background_entrance_animation_push_offset2",
"@rainbowpie_ui_animations.header_background_entrance_animation_pop_offset2",
"@rainbowpie_ui_animations.header_background_exit_animation_push_offset_ingame2",
"@rainbowpie_ui_animations.header_background_exit_animation_pop_offset_ingame2",
"@rainbowpie_ui_animations.header_background_entrance_animation_push_offset_ingame2",
"@rainbowpie_ui_animations.header_background_entrance_animation_pop_offset_ingame2"
]
}
}
]
},
// ???/?? ??
"RainbowPieHeaderBlur": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 완전히 제거(공간도 없음)
"ignored": "(not $is_pregame)",
// 보이기/숨기기(공간 유지)
"visible": "$rainbowpie_ui_feature_background_blur",
// 오버라이드 가능한 변수
"$BlurLayer|default": 10,
// 겹치는 순서(숫자 클수록 위)
"layer": "$BlurLayer",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"blur_layer@mintui_background.background_blur": {
// 오버라이드 가능한 변수
"$background_offset": [ 0, "-100% + 20px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ 0, "100% - 20px" ],
// 오버라이드 가능한 변수
"$background_layer": 2,
// 오버라이드 가능한 변수
"$background_anims": "$HeaderBlurAnims",
// 오버라이드 가능한 변수
"$HeaderBlurAnims|default": [
"@rainbowpie_ui_animations.header_background_exit_animation_push_offset1",
"@rainbowpie_ui_animations.header_background_exit_animation_pop_offset1",
"@rainbowpie_ui_animations.header_background_entrance_animation_push_offset1",
"@rainbowpie_ui_animations.header_background_entrance_animation_pop_offset1",
"@rainbowpie_ui_animations.header_background_exit_animation_push_offset_ingame1",
"@rainbowpie_ui_animations.header_background_exit_animation_pop_offset_ingame1",
"@rainbowpie_ui_animations.header_background_entrance_animation_push_offset_ingame1",
"@rainbowpie_ui_animations.header_background_entrance_animation_pop_offset_ingame1"
],
// 오버라이드 가능한 변수
"$background_children_anims": "$HeaderBlur2Anims",
// 오버라이드 가능한 변수
"$HeaderBlur2Anims|default": [
"@rainbowpie_ui_animations.header_background_exit_animation_push_offset2",
"@rainbowpie_ui_animations.header_background_exit_animation_pop_offset2",
"@rainbowpie_ui_animations.header_background_entrance_animation_push_offset2",
"@rainbowpie_ui_animations.header_background_entrance_animation_pop_offset2",
"@rainbowpie_ui_animations.header_background_exit_animation_push_offset_ingame2",
"@rainbowpie_ui_animations.header_background_exit_animation_pop_offset_ingame2",
"@rainbowpie_ui_animations.header_background_entrance_animation_push_offset_ingame2",
"@rainbowpie_ui_animations.header_background_entrance_animation_pop_offset_ingame2"
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_uioverride_back_button@common.back_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_controls.rainbowpie_uioverride_borderless_form_fitting_button_panel",
// 오버라이드 가능한 변수
"$button_content": "rainbowpie_ui_controls.back_button_content",
// 오버라이드 가능한 변수
"$rainbowpie_localui_backbutton_text_color|default": "$rainbowpie_ui_theme_topbar_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$touch",
// 오버라이드 가능한 변수
"$size": [ "100%c + 6px", "100%c + 6px" ],
// 오버라이드 가능한 변수
"$button_panel_offset": [ 3, 3 ]
},
{
// 이 조건이 맞으면 적용
"requires": "(not $touch)",
// 오버라이드 가능한 변수
"$size": [ "100%c", "100%c" ]
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_uioverride_borderless_form_fitting_button_panel@common_buttons.borderless_form_fitting_button_panel": {
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($button_image = 'common_buttons.background_button_image')",
// 오버라이드 가능한 변수
"$button_image": "rainbowpie_ui_controls.background_button_image"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"$button_image@$button_image": {
// 가로/세로 크기
"size": [ "100%c + 4px", "100%c" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"$button_type_panel@$button_type_panel": {
// 기준점에서 이동하는 거리
"offset": [ 0, 3 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"background_button_image": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 사용할 이미지 경로
"texture": "textures/ui/button_borderless_imagelesshoverbg",
// ???
"alpha": 0.3
},
// ???/?? ??
"back_button_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", 16 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"chevron_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"left_chevron@common.chevron_image": {
// 사용할 이미지 경로
"texture": "textures/ui/chevron_left",
// 기준점에서 이동하는 거리
"offset": [ 0, -1 ],
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_backbutton_text_color"
}
}
]
}
},
{
// ???/?? ??
"padding1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, "100%" ]
}
},
{
// ???/?? ??
"label_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"label": {
// 글자 표시
"type": "label",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 보여줄 글자
"text": "$button_text",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_backbutton_text_color",
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
"font_size": "$button_font_size",
// 오버라이드 가능한 변수
"$button_font_scale_factor|default": 1.0,
// ?? ?? ??
"font_scale_factor": "$button_font_scale_factor",
// 오버라이드 가능한 변수
"$button_font_size|default": "normal",
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 오버라이드 가능한 변수
"$anchor|default": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "$anchor",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$anchor",
"shadow": false,
// 오버라이드 가능한 변수
"$button_text_size|default": [ "default", "default" ],
// 가로/세로 크기
"size": "$button_text_size",
// 오버라이드 가능한 변수
"$button_text_max_size|default": [ "100%", 10 ], // Per design buttons are single line text only
"max_size": "$button_text_max_size",
// 오버라이드 가능한 변수
"$text_alignment|default": "center",
// ?? ??
"text_alignment": "$text_alignment",
// 오버라이드 가능한 변수
"$tts_section_header|default": "",
"tts_section_header": "$tts_section_header",
// 게임 값과 연결하는 규칙 목록
"bindings": "$rainbowpie_localui_backbutton_title_bindings",
// 오버라이드 가능한 변수
"$rainbowpie_localui_backbutton_title_bindings|default": [
{
// 바인딩 종류(변수로 관리되는 경우도 있음)
"binding_type": "$button_text_binding_type",
// ?? ???
"binding_condition": "$button_binding_condition",
// 목록 이름
"binding_collection_name": "$button_text_grid_collection_name",
// 가져올 값 이름
"binding_name": "$button_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "$button_text"
}
]
}
}
]
}
}
]
},
// ???/?? ??
"back_content_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 오버라이드 가능한 변수
"$back_button_text|default": "",
// 오버라이드 가능한 변수
"$back_button_text_binding_type|default": "none",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_title_bindings|default": [],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"back_button@rainbowpie_ui_controls.rainbowpie_uioverride_back_button": {
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$button_text_binding_type": "$back_button_text_binding_type",
// 오버라이드 가능한 변수
"$button_text": "$back_button_text",
// 오버라이드 가능한 변수
"$rainbowpie_localui_backbutton_title_bindings": "$rainbowpie_localui_screenheader_title_bindings"
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: rainbowpie_ui_inventory_and_container.json
// 분류: RainbowPie UI / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpie_ui_inventory_and_container",
// ???/?? ??
"cell_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"cell_image@rainbowpie_ui_common.cell_image": {}
},
{
// ???/?? ??
"fastplace_slot_panel": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
"consume_hover_events": "$touch",
// 겹치는 순서(숫자 클수록 위)
"layer": 22,
// 보이기/숨기기(공간 유지)
"visible": false,
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_29bdcf8a) or (not $rainbowpie_ui_flag_84df7492))",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventoryui_fastplace",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#inventoryui_fastplace_enabled"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not (#item_id_aux = -1)) and #inventoryui_fastplace_enabled)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.container_auto_place",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.container_auto_place",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
}
]
}
},
{
// ???/?? ??
"result_slot_border": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/focus_border_white",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// ?? (R,G,B,A)
"color": [ 0.0, 1.0, 0.0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 보이기/숨기기(공간 유지)
"visible": false,
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_d6bb54d8) or (not $rainbowpie_ui_flag_84df7492))",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hover_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #hover_text - '\n' - '§0' - '§1' - '§2' - '§3' - '§4' - '§5' - '§6' - '§7' - '§8' - '§9' - '§a' - '§b' - '§c' - '§d' - '§e' - '§f' - '§g' - '§h' - '§i' - '§j' - '§k' - '§l' - '§m' - '§n' - '§o' - '§p' - '§q' - '§r' - '§s' - '§t' - '§u' - '§v' - '§w' - '§x' - '§y' - '§z' + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#formatted_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventoryui_search_text_box_display_text",
// 계산식/참조 값
"source_property_name": "#item_name",
// 결과가 들어갈 속성
"target_property_name": "#query_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#formatted_name - #query_text) = #formatted_name))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"container_item@common.container_item": {
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$collection_index|default": -1,
// 오버라이드 가능한 변수
"$cell_image_size|default": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$item_renderer_panel_size|default": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$item_renderer_size|default": [ "100%y", "88.89%" ],
// 오버라이드 가능한 변수
"$background_images|default": "rainbowpie_ui_inventory_and_container.cell_panel"
},
// ???/?? ??
"container_item_stack": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 목록 이름
"collection_name": "$item_collection_name",
// 오버라이드 가능한 변수
"$item_collection_name|default": "",
// 오버라이드 가능한 변수
"$collection_index_start|default": 0,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_0@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$collection_index": "($collection_index_start + 0)",
"collection_index": "$collection_index"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_1@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$collection_index": "($collection_index_start + 1)",
"collection_index": "$collection_index"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_2@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$collection_index": "($collection_index_start + 2)",
"collection_index": "$collection_index"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_3@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$collection_index": "($collection_index_start + 3)",
"collection_index": "$collection_index"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_4@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$collection_index": "($collection_index_start + 4)",
"collection_index": "$collection_index"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_5@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$collection_index": "($collection_index_start + 5)",
"collection_index": "$collection_index"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_6@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$collection_index": "($collection_index_start + 6)",
"collection_index": "$collection_index"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_7@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$collection_index": "($collection_index_start + 7)",
"collection_index": "$collection_index"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_8@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$collection_index": "($collection_index_start + 8)",
"collection_index": "$collection_index"
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_grid_template@rainbowpie_ui_inventory_and_container.container_item_stack": {
// 오버라이드 가능한 변수
"$item_collection_name": "hotbar_items",
// 오버라이드 가능한 변수
"$collection_index_start": 0
},
// ???/?? ??
"inventory_panel_bottom_half": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"1@rainbowpie_ui_inventory_and_container.container_item_stack": {
// 가로/세로 크기
"size": [ "100%", "33.33333333333333%" ],
// 오버라이드 가능한 변수
"$item_collection_name": "inventory_items",
// 오버라이드 가능한 변수
"$collection_index_start": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"2@rainbowpie_ui_inventory_and_container.container_item_stack": {
// 가로/세로 크기
"size": [ "100%", "33.33333333333333%" ],
// 오버라이드 가능한 변수
"$item_collection_name": "inventory_items",
// 오버라이드 가능한 변수
"$collection_index_start": 9
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"3@rainbowpie_ui_inventory_and_container.container_item_stack": {
// 가로/세로 크기
"size": [ "100%", "33.33333333333333%" ],
// 오버라이드 가능한 변수
"$item_collection_name": "inventory_items",
// 오버라이드 가능한 변수
"$collection_index_start": 18
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: rainbowpie_ui_module_list.json
// 분류: RainbowPie UI / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpie_ui_module_list",
// ???/?? ??
"module_variable_display_button_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"control_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100% - 4px", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button_text@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "default", 10 ],
"max_size": [ "100% - 10px", 10 ],
// 보여줄 글자
"text": "rainbowpie.ui.module.moduleVariables",
// ?? (R,G,B,A)
"color": "$text_color",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"middle_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "fill", 0 ]
}
},
{
// ???/?? ??
"chevron_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 10, 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"chevron_down": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 사용할 이미지 경로
"texture": "textures/ui/chevron_white_down",
// ?? (R,G,B,A)
"color": "$text_color",
// 가로/세로 크기
"size": [ 8, 8 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$toggle_view_binding_name",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"chevron_up": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 사용할 이미지 경로
"texture": "textures/ui/chevron_white_up",
// ?? (R,G,B,A)
"color": "$text_color",
// 가로/세로 크기
"size": [ 8, 8 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$toggle_view_binding_name",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"module_variable_display_toggle@common_toggles.light_ui_toggle": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_content": "rainbowpie_ui_module_list.module_variable_display_button_content",
// 오버라이드 가능한 변수
"$button_type_panel": "common_buttons.new_ui_binding_button_label",
// 오버라이드 가능한 변수
"$button_text_binding_type": "none",
// 오버라이드 가능한 변수
"$button_binding_condition": "none",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "none",
// 오버라이드 가능한 변수
"$button_text": "VARIABLES",
// 오버라이드 가능한 변수
"$button_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$radio_toggle_group": false,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpie_settings_module_variable_display_toggle",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 0,
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 0,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": ""
},
// ???/?? ??
"module_variable_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 4px" ],
// 오버라이드 가능한 변수
"$variable_name|default": false,
// 오버라이드 가능한 변수
"$variable_name_display|default": "variable_displayname",
// 오버라이드 가능한 변수
"$variable_description|default": "",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"control_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"top_driven@rainbowpieui_settings_common.driven": {}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"label_1@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", "default" ],
// 오버라이드 가능한 변수
"$value_color_format_symbol": "f",
// 오버라이드 가능한 변수
"$value_string_formatted": "('\"' + $variable_name + '\"')",
// 보여줄 글자
"text": "('§e$§f' + $variable_name_display + ' = ' + '§' + $value_color_format_symbol + $value_string_formatted)",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($value_string_formatted = 'true')",
// 오버라이드 가능한 변수
"$value_color_format_symbol": "a"
},
{
// 이 조건이 맞으면 적용
"requires": "($value_string_formatted = 'false')",
// 오버라이드 가능한 변수
"$value_color_format_symbol": "c"
},
{
// 이 조건이 맞으면 적용
"requires": "(('1' + $variable_name + 1) > 10)",
// 오버라이드 가능한 변수
"$value_color_format_symbol": "e"
},
{
// 이 조건이 맞으면 적용
"requires": "($variable_name + '1' - 1 < -10)",
// 오버라이드 가능한 변수
"$value_color_format_symbol": "e"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"label_2@rainbowpie_ui_common.text_label": {
// 완전히 제거(공간도 없음)
"ignored": "($variable_description = '')",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", "default" ],
// 보여줄 글자
"text": "$variable_description",
// ?? (R,G,B,A)
"color": [ 0.776, 0.776, 0.776 ]
}
}
]
}
}
]
},
// ???/?? ??
"module_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 2px" ],
// 오버라이드 가능한 변수
"$module_icon_texture|default": "($rainbowpie_ui_path_home + '/icon/module')",
// 오버라이드 가능한 변수
"$module_name|default": "module_name",
// 오버라이드 가능한 변수
"$module_version|default": "module_version",
// 오버라이드 가능한 변수
"$module_author|default": "module_author",
// 오버라이드 가능한 변수
"$module_description|default": "module_description",
// 오버라이드 가능한 변수
"$module_state_check|default": false,
// 오버라이드 가능한 변수
"$module_max_engine_version|default": "999999",
// 오버라이드 가능한 변수
"$module_max_engine_patch_version|default": "999999",
// 오버라이드 가능한 변수
"$module_min_engine_version|default": "0",
// 오버라이드 가능한 변수
"$module_min_engine_patch_version|default": "0",
// 오버라이드 가능한 변수
"$module_variable_display|default": false,
// 오버라이드 가능한 변수
"$module_variables|default": [],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@rainbowpie_ui_common.text_background": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 가로/세로 크기
"size": [ "100%", "100%cm" ],
"min_size": [ "100%", 50 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"icon_image": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 50, 50 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 사용할 이미지 경로
"texture": "$module_icon_texture"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"variable_display_button@rainbowpie_ui_module_list.module_variable_display_toggle": {
// 완전히 제거(공간도 없음)
"ignored": "(not $module_variable_display)",
// 가로/세로 크기
"size": [ 60, 20 ],
// 기준점에서 이동하는 거리
"offset": [ -2, 28 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 20,
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1000,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "('module_variable_display_' + $module_name)"
}
},
{
// ???/?? ??
"control_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100% - 114px", "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ 52, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"label_1@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", 15 ],
// 보여줄 글자
"text": "('\"' + $module_name + ' [' + $module_state + ']' + $module_update_state + '\"')",
// ?? ?? ??
"font_scale_factor": 1.5,
// 오버라이드 가능한 변수
"$module_state|default": "§cINACTIVE§r",
// 오버라이드 가능한 변수
"$module_update_state|default": "",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$module_state_check",
// 오버라이드 가능한 변수
"$module_state": "§aACTIVE§r"
},
{
// 이 조건이 맞으면 적용
"requires": "(($module_max_engine_version < $rainbowpieui_engine_version) or ($module_max_engine_patch_version < $rainbowpieui_patch_version))",
// 오버라이드 가능한 변수
"$module_update_state": " [§eNEEDUPDATE§r]"
},
{
// 이 조건이 맞으면 적용
"requires": "(($module_min_engine_version > $rainbowpieui_engine_version) or ($module_min_engine_patch_version > $rainbowpieui_patch_version))",
// 오버라이드 가능한 변수
"$module_update_state": " [§cUNSUPPORTED§r]"
}
]
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"label_2@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", 10 ],
// 보여줄 글자
"text": "('\"' + $module_version + ', §o§l' + $module_author + '\"')"
}
},
{
// ???/?? ??
"padding_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"label_3@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100% - 44px", "default" ],
// 보여줄 글자
"text": "('\"' + $module_description + '\"')"
}
},
{
// ???/?? ??
"padding_3": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 1 ]
}
},
{
// ???/?? ??
"padding_4": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 4 ],
// 완전히 제거(공간도 없음)
"ignored": "(not $module_variable_display)",
// 보이기/숨기기(공간 유지)
"visible": false,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "('module_variable_display_' + $module_name)",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$toggle_view_binding_name",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"variable_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": "$module_variables",
// 완전히 제거(공간도 없음)
"ignored": "(not $module_variable_display)",
// 보이기/숨기기(공간 유지)
"visible": false,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "('module_variable_display_' + $module_name)",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$toggle_view_binding_name",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"module_list_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: rainbowpie_ui_theme_preview.json
// 분류: RainbowPie UI / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpie_ui_theme_preview",
// ???/?? ??
"theme_preview": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"background_preview": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 230, "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@mintui_background.background_fullscreen": {
// 완전히 제거(공간도 없음)
"ignored": false,
// 오버라이드 가능한 변수
"$background_layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"blur_layer_top@mintui_background.background_blur": {
// 오버라이드 가능한 변수
"$background_ingame": true,
// 오버라이드 가능한 변수
"$background_offset": [ 0, "-100% + 10px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ 0, "100% - 10px" ],
// 오버라이드 가능한 변수
"$background_layer": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"blur_layer_bottom@mintui_background.background_blur": {
// 오버라이드 가능한 변수
"$background_ingame": true,
// 오버라이드 가능한 변수
"$background_offset": [ 0, "100% - 6px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ 0, "-100% + 6px" ],
// 오버라이드 가능한 변수
"$background_layer": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"title_image@rainbowpie_ui_common.title_text": {
// 오버라이드 가능한 변수
"$title_text_scale": 1.8,
// 기준점에서 이동하는 거리
"offset": [ 2, 8 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 3
}
},
{
// ???/?? ??
"default_fake_button_1": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 60, 9 ],
// 기준점에서 이동하는 거리
"offset": [ 2, -20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_button_background_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_button_background_default_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"mini_text_1@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", 6 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 보여줄 글자
"text": "Play",
// ?? ?? ??
"font_scale_factor": 0.6,
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_button_text_default_color"
}
}
]
}
},
{
// ???/?? ??
"hover_fake_button_2": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 60, 9 ],
// 기준점에서 이동하는 거리
"offset": [ 2, -10 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_button_background_hover_color",
// ???
"alpha": "$rainbowpie_ui_theme_button_background_hover_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"mini_text_1@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", 6 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 보여줄 글자
"text": "Settings",
// ?? ?? ??
"font_scale_factor": 0.6,
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_button_text_hover_color"
}
}
]
}
},
{
// ???/?? ??
"default_fake_button_3": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 60, 9 ],
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_button_background_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_button_background_default_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"mini_text_1@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", 6 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 보여줄 글자
"text": "Marketplace",
// ?? ?? ??
"font_scale_factor": 0.6,
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_button_text_default_color"
}
}
]
}
},
{
// ???/?? ??
"default_fake_button_4": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 60, 9 ],
// 기준점에서 이동하는 거리
"offset": [ 2, 10 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_button_background_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_button_background_default_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"mini_text_1@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", 6 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 보여줄 글자
"text": "Music",
// ?? ?? ??
"font_scale_factor": 0.6,
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_button_text_default_color"
}
}
]
}
},
{
// ???/?? ??
"default_fake_button_5": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 60, 9 ],
// 기준점에서 이동하는 거리
"offset": [ 2, 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_button_background_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_button_background_default_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"mini_text_1@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", 6 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 보여줄 글자
"text": "Achievements",
// ?? ?? ??
"font_scale_factor": 0.6,
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_button_text_default_color"
}
}
]
}
},
{
// ???/?? ??
"red_fake_button_6": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 60, 9 ],
// 기준점에서 이동하는 거리
"offset": [ 2, 30 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": [ 0.85098, 0.301961, 0.301961 ],
// ???
"alpha": 0.5,
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"mini_text_1@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", 6 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 보여줄 글자
"text": "Exit",
// ?? ?? ??
"font_scale_factor": 0.6,
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// ?? (R,G,B,A)
"color": [ 1.0, 1.0, 1.0 ]
}
}
]
}
},
{
// ???/?? ??
"top_panel": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", 10 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_topbar_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_topbar_background_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 6,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"mini_text_1@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", 6 ],
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 보여줄 글자
"text": "Theme Preview",
// ?? ?? ??
"font_scale_factor": 0.6,
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_topbar_text_color"
}
}
]
}
},
{
// ???/?? ??
"bottom_panel": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", 6 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 6,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"mini_text_1@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", 6 ],
// 기준점에서 이동하는 거리
"offset": [ 0.5, -0.5 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 보여줄 글자
"text": "Rainbow Pie UI Theme Preview",
// ?? ?? ??
"font_scale_factor": 0.6,
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"mini_text_2@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", 6 ],
// 기준점에서 이동하는 거리
"offset": [ -0.5, -0.5 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 보여줄 글자
"text": "v1.19.70",
// ?? ?? ??
"font_scale_factor": 0.6,
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color"
}
}
]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: verified_pack.json
// 분류: RainbowPie UI / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_verified_pack",
// 다른 템플릿을 가져와서 확장(상속)
"verified_pack_list@rainbowpieui_manifest_validation.verified_pack_list_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_packverifiy_item": [
{
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie@rainbowpieui_manifest_validation.verified_pack_item": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_packverifiy_packuuid": "$mintui_pack_uuid",
// 오버라이드 가능한 변수
"$rainbowpie_localui_packverifiy_packname": "Rainbow Pie UI",
// 오버라이드 가능한 변수
"$rainbowpie_localui_packverifiy_packauther": "Sunny Pokie"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"old_rainbowpie@rainbowpieui_manifest_validation.verified_pack_item": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_packverifiy_packuuid": "2a6c2264-0401-4cd8-aad8-824fa7672084",
// 오버라이드 가능한 변수
"$rainbowpie_localui_packverifiy_packname": "Rainbow Pie UI (Old)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_packverifiy_packauther": "MintCoolMC"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"dabuui@rainbowpieui_manifest_validation.verified_pack_item": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_packverifiy_packuuid": "4d24c49f-6893-408d-88d7-99b8cea7dce3",
// 오버라이드 가능한 변수
"$rainbowpie_localui_packverifiy_packname": "护眼大补丸",
// 오버라이드 가능한 변수
"$rainbowpie_localui_packverifiy_packauther": "黑山大叔 橘猫sama"
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"verified_pack_description@rainbowpieui_manifest_validation.verified_pack_description_panel": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie@rainbowpieui_manifest_validation.verified_pack_description_item": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_packverifiy_packuuid": "$mintui_pack_uuid",
// 오버라이드 가능한 변수
"$rainbowpie_localui_packverifiy_packdesc": "Rainbow Pie UI\nAuthor: §bMintraspberry Cool §r(Aka. §dSunny Pokie§r)\nWebsite: §ehttps://mintraspberry.cool/rainbowpieui§r\nGitHub: §ehttps://github.com/MintCoolMC/MCBE_RainbowPieUI2§r\nSupport this project: §ehttps://mintraspberry.cool/donate§r"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"old_rainbowpie@rainbowpieui_manifest_validation.verified_pack_description_item": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_packverifiy_packuuid": "2a6c2264-0401-4cd8-aad8-824fa7672084",
// 오버라이드 가능한 변수
"$rainbowpie_localui_packverifiy_packdesc": "Rainbow Pie UI By Mintraspberry Cool\n§cDO NOT USE WITH NEW PACK!!!§r\nWebsite: §ehttps://mintraspberry.cool/rainbowpieui"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"dabuui@rainbowpieui_manifest_validation.verified_pack_description_item": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_packverifiy_packuuid": "4d24c49f-6893-408d-88d7-99b8cea7dce3",
// 오버라이드 가능한 변수
"$rainbowpie_localui_packverifiy_packdesc": "§b护眼大补丸§r\nB站作者@黑山大叔 @橘猫sama\n§7(此资源包与Rainbow Pie UI互相兼容)§r\n§7(This resource pack is compatible with Rainbow Pie UI)§r"
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: rainbowpie_ui_button.json
// 분류: RainbowPie UI / common
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpie_ui_button",
// ???/?? ??
"glint_border_base": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_glint_size|default": [ 48, 48 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_glint_alpha|default": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_localui_glint_layer|default": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"glint_dot": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": "$rainbowpie_localui_glint_size",
// 기준점에서 이동하는 거리
"offset": [ -1024, -1024 ],
"consume_hover_events": false,
"follows_cursor": true,
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_99d9851a)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"glint_texture": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/glint')",
// ???
"alpha": "$rainbowpie_localui_glint_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": "$rainbowpie_localui_glint_layer"
}
}
]
}
}
]
},
// ???/?? ??
"rainbowpie_ui_button_default": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// Rainbow Pie UI Variables
"$rainbowpie_localui_button_text_default_color|default": "$rainbowpie_ui_theme_button_text_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_hover_color|default": "$rainbowpie_ui_theme_button_text_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_pressed_color|default": "$rainbowpie_ui_theme_button_text_pressed_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_locked_color|default": "$rainbowpie_ui_theme_button_text_locked_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_color|default": "$rainbowpie_ui_theme_button_background_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color|default": "$rainbowpie_ui_theme_button_background_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color|default": "$rainbowpie_ui_theme_button_background_pressed_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_locked_color|default": "$rainbowpie_ui_theme_button_background_locked_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha|default": "$rainbowpie_ui_theme_button_background_default_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha|default": "$rainbowpie_ui_theme_button_background_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha|default": "$rainbowpie_ui_theme_button_background_pressed_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_locked_alpha|default": "$rainbowpie_ui_theme_button_background_locked_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_offset|default": "$rainbowpie_ui_theme_button_default_offset",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_offset|default": "$rainbowpie_ui_theme_button_hover_offset",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_offset|default": "$rainbowpie_ui_theme_button_pressed_offset",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_locked_offset|default": "$rainbowpie_ui_theme_button_locked_offset",
// Vanilla Variables
"$button_image_visible|default": true,
// 오버라이드 가능한 변수
"$button_image_size|default": [ "100% - 1px", "100% - 1px" ],
// 오버라이드 가능한 변수
"$default_state|default": false,
// 오버라이드 가능한 변수
"$hover_state|default": false,
// 오버라이드 가능한 변수
"$pressed_state|default": false,
// 오버라이드 가능한 변수
"$locked_state|default": false,
// Rainbow Pie UI Default Variables
"$rainbowpie_localui_button_both_offset|default": [ 0, 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_color|default": [],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_color|default": [],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_alpha|default": 1.0,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_offset|default": [ 0, 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_panel_size|default": [ "default", "default" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_border_enabled|default": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_enabled|default": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text|default": "HoverText",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text_bindings|default": [],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text_size|default": [ "100%c + 8px", "100%c + 5px" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text_offset|default": [ 10, -10 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text_anchor|default": "top_left",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_border_layer|default": 50,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_border_always_visible|default": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hover@common.focus_border_white": {
// 가로/세로 크기
"size": "$button_image_size",
// 완전히 제거(공간도 없음)
"ignored": "(((not $rainbowpie_localui_button_border_enabled) or (not $hover_state)) and (not $rainbowpie_localui_button_hover_border_always_visible))",
// ???
"alpha": 0.3,
// 겹치는 순서(숫자 클수록 위)
"layer": "$rainbowpie_localui_button_hover_border_layer"
}
},
{
// ???/?? ??
"button_border_glint": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$button_image_size",
// 완전히 제거(공간도 없음)
"ignored": "(((not $rainbowpie_localui_button_border_enabled) and (not $rainbowpie_localui_button_hover_border_always_visible)) or (not $rainbowpie_ui_flag_99d9851a))",
// 겹치는 순서(숫자 클수록 위)
"layer": "$rainbowpie_localui_button_hover_border_layer",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hover@rainbowpie_ui_button.glint_border_base": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_glint_size": [ 72, 72 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_glint_alpha": 0.25,
// 완전히 제거(공간도 없음)
"ignored": "(not $hover_state)",
// 가로/세로 크기
"size": [ "100% - 2px", "100% - 2px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": "($rainbowpie_localui_button_hover_border_layer - ($rainbowpie_localui_button_hover_border_layer * 2))"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"top@rainbowpie_ui_button.glint_border_base": {
// 가로/세로 크기
"size": [ "100% - 2px", 1 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"bottom@rainbowpie_ui_button.glint_border_base": {
// 가로/세로 크기
"size": [ "100% - 2px", 1 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"left@rainbowpie_ui_button.glint_border_base": {
// 가로/세로 크기
"size": [ 1, "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"right@rainbowpie_ui_button.glint_border_base": {
// 가로/세로 크기
"size": [ 1, "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle"
}
}
]
}
},
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$rainbowpie_localui_button_panel_size",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$default_state",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_color": "$rainbowpie_localui_button_text_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_color": "$rainbowpie_localui_button_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_alpha": "$rainbowpie_localui_button_default_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_offset": "$rainbowpie_localui_button_default_offset"
},
{
// 이 조건이 맞으면 적용
"requires": "$hover_state",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_color": "$rainbowpie_localui_button_text_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_color": "$rainbowpie_localui_button_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_alpha": "$rainbowpie_localui_button_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_offset": "$rainbowpie_localui_button_hover_offset"
},
{
// 이 조건이 맞으면 적용
"requires": "$pressed_state",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_color": "$rainbowpie_localui_button_text_pressed_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_color": "$rainbowpie_localui_button_pressed_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_alpha": "$rainbowpie_localui_button_pressed_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_offset": "$rainbowpie_localui_button_pressed_offset"
},
{
// 이 조건이 맞으면 적용
"requires": "$locked_state",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_color": "$rainbowpie_localui_button_text_locked_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_color": "$rainbowpie_localui_button_locked_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_alpha": "$rainbowpie_localui_button_locked_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_offset": "$rainbowpie_localui_button_locked_offset"
}
],
// Rainbow Pie UI Override
"$button_offset": "$rainbowpie_localui_button_offset",
// 오버라이드 가능한 변수
"$text_color": "$rainbowpie_localui_button_text_color",
// 오버라이드 가능한 변수
"$glyph_color": "$rainbowpie_localui_button_text_color",
// 오버라이드 가능한 변수
"$label_color": "$rainbowpie_localui_button_text_color",
// 오버라이드 가능한 변수
"$content_alpha": 1,
// 이 안에 들어가는 부품 목록
"controls": "$rainbowpie_localui_button_controls"
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_text_button@rainbowpie_ui_button_default": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_offset|default": [ 0, 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_size|default": [ "default", "default" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_alignment|default": "center",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_border_enabled|default": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_controls": [
{
// ???/?? ??
"button_background": {
// 이미지 표시
"type": "image",
// 완전히 제거(공간도 없음)
"ignored": "(not $button_image_visible)",
// 가로/세로 크기
"size": "$button_image_size",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_localui_button_both_offset",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_button_color",
// ???
"alpha": "$rainbowpie_localui_button_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"button_desc@rainbowpie_ui_button.button_desc": {}
},
{
// ???/?? ??
"button_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$button_content_size|default": [ "100% - 6px", "100% - 6px" ],
// 가로/세로 크기
"size": "$button_content_size",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_localui_button_both_offset",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_localui_button_offset",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button_text@rainbowpie_ui_common.text_label_notheme": {
// 보여줄 글자
"text": "$button_text",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_button_text_color",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_localui_button_text_offset",
// 가로/세로 크기
"size": "$rainbowpie_localui_button_text_size",
// ?? ??
"text_alignment": "$rainbowpie_localui_button_text_alignment",
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 바인딩 종류(변수로 관리되는 경우도 있음)
"binding_type": "$button_text_binding_type",
// ?? ???
"binding_condition": "$button_binding_condition",
// 목록 이름
"binding_collection_name": "$button_text_grid_collection_name",
// 가져올 값 이름
"binding_name": "$button_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "$button_text"
}
]
}
}
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_content_button@rainbowpie_ui_button_default": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_border_enabled|default": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_controls": [
{
// ???/?? ??
"button_background": {
// 이미지 표시
"type": "image",
// 완전히 제거(공간도 없음)
"ignored": "(not $button_image_visible)",
// 가로/세로 크기
"size": "$button_image_size",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_localui_button_both_offset",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_button_color",
// ???
"alpha": "$rainbowpie_localui_button_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"button_desc@rainbowpie_ui_button.button_desc": {}
},
{
// ???/?? ??
"button_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$button_content_size|default": [ "100% - 6px", "100% - 6px" ],
// 가로/세로 크기
"size": "$button_content_size",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_localui_button_both_offset",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_localui_button_offset",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content@$button_content": {
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}
}
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_form_fitting_button@rainbowpie_ui_button_default": {
// 가로/세로 크기
"size": "$button_size_override",
"min_size": "$form_fitting_min_size",
// 오버라이드 가능한 변수
"$form_fitting_min_size|default": [ 0, 0 ],
// 오버라이드 가능한 변수
"$button_size_override|default": [ "100%c", "100%c" ],
// 오버라이드 가능한 변수
"$focus_border_size_override|default": [ "100%c + 2px", "100%c + 2px" ],
// 오버라이드 가능한 변수
"$button_image_size_override|default": [ "100%c + 2px", "100%c + 2px" ],
// 오버라이드 가능한 변수
"$button_content_size_override|default": [ "100%c + 6px", "100%c + 6px" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_panel_size": [ "100%c", "100%c" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_controls": [
{
// ???/?? ??
"button_background": {
// 이미지 표시
"type": "image",
// 완전히 제거(공간도 없음)
"ignored": "(not $button_image_visible)",
// 가로/세로 크기
"size": "$button_image_size_override",
"min_size": "$form_fitting_min_size",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_button_color",
// ???
"alpha": "$rainbowpie_localui_button_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_localui_button_offset",
// 가로/세로 크기
"size": "$button_content_size_override",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content@$button_type_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}
}
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_text_form_fitting_button@rainbowpie_ui_button_default": {
// 가로/세로 크기
"size": "$button_size_override",
"min_size": "$form_fitting_min_size",
// 오버라이드 가능한 변수
"$form_fitting_min_size|default": [ 0, 0 ],
// 오버라이드 가능한 변수
"$button_size_override|default": [ "100%c", "100%c" ],
// 오버라이드 가능한 변수
"$focus_border_size_override|default": [ "100%c + 2px", "100%c + 2px" ],
// 오버라이드 가능한 변수
"$button_image_size_override|default": [ "100%c + 2px", "100%c + 2px" ],
// 오버라이드 가능한 변수
"$button_content_size_override|default": [ "100%c + 6px", "100%c + 6px" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_panel_size": [ "100%c", "100%c" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_offset|default": [ 0, 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_size|default": [ "default", "default" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_alignment|default": "center",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_controls": [
{
// ???/?? ??
"button_background": {
// 이미지 표시
"type": "image",
// 완전히 제거(공간도 없음)
"ignored": "(not $button_image_visible)",
// 가로/세로 크기
"size": "$button_image_size_override",
"min_size": "$form_fitting_min_size",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_button_color",
// ???
"alpha": "$rainbowpie_localui_button_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_localui_button_offset",
// 가로/세로 크기
"size": "$button_content_size_override",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button_text@rainbowpie_ui_common.text_label_notheme": {
// 보여줄 글자
"text": "$button_text",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_button_text_color",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_localui_button_text_offset",
// 가로/세로 크기
"size": "$rainbowpie_localui_button_text_size",
// ?? ??
"text_alignment": "$rainbowpie_localui_button_text_alignment",
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 바인딩 종류(변수로 관리되는 경우도 있음)
"binding_type": "$button_text_binding_type",
// ?? ???
"binding_condition": "$button_binding_condition",
// 목록 이름
"binding_collection_name": "$button_text_grid_collection_name",
// 가져올 값 이름
"binding_name": "$button_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "$button_text"
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"button_desc": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 보이기/숨기기(공간 유지)
"visible": "$hover_state",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_button_desc_enabled)",
// 가로/세로 크기
"size": "$button_image_size",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_localui_button_both_offset",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"custom_hover_text": {
// 클릭 가능한 버튼
"type": "button",
// ??/???
"enabled": "(not ($touch or $game_pad))",
"allow_clipping": false,
"follows_cursor": "(not ($touch or $game_pad))",
"consume_event": false,
"consume_hover_events": false,
// 포커스 가능 여부
"focus_enabled": false,
"hover_control": "$hover_control",
"locked_control": "$locked_control",
// 오버라이드 가능한 변수
"$hover_control": "hover_text",
// 오버라이드 가능한 변수
"$locked_control": "",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($touch or $game_pad)",
// 오버라이드 가능한 변수
"$hover_control": "",
// 오버라이드 가능한 변수
"$locked_control": "hover_text"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"hover_text": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "0px", "0px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"hover_text_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white')",
// 가로/세로 크기
"size": "$rainbowpie_localui_button_desc_text_size",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_localui_button_desc_text_offset",
// 기준점(어디에서 시작할지)
"anchor_from": "$rainbowpie_localui_button_desc_text_anchor",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$rainbowpie_localui_button_desc_text_anchor",
// ?? ????
"clips_children": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 200,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_hovertext_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_hovertext_background_alpha",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"background_icon": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "$rainbowpie_ui_theme_hovertext_bgicon_anchor",
// 기준점(어디에서 시작할지)
"anchor_from": "$rainbowpie_ui_theme_hovertext_bgicon_anchor",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_theme_hovertext_bgicon_enabled)",
"allow_clipping": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"icon_image": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": "$rainbowpie_ui_theme_hovertext_bgicon_size",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$rainbowpie_ui_theme_hovertext_bgicon_anchor",
// 기준점(어디에서 시작할지)
"anchor_from": "$rainbowpie_ui_theme_hovertext_bgicon_anchor",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_ui_theme_hovertext_bgicon_offset",
// 사용할 이미지 경로
"texture": "$rainbowpie_ui_theme_hovertext_bgicon_texture",
// ???
"alpha": "$rainbowpie_ui_theme_hovertext_bgicon_alpha",
"fill": "$rainbowpie_ui_theme_hovertext_bgicon_fill",
// 겹치는 순서(숫자 클수록 위)
"layer": 3
}
}
]
}
},
{
// ???/?? ??
"hover_text_controls": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%cm", "100%c" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hover_text_label@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", "default" ],
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_hovertext_text_color",
// 보여줄 글자
"text": "$rainbowpie_localui_button_desc_text",
// 게임 값과 연결하는 규칙 목록
"bindings": "$rainbowpie_localui_button_desc_text_bindings"
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: rainbowpie_ui_common.json
// 분류: RainbowPie UI / common
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpie_ui_common",
// ???/?? ??
"editable_label": {
// 텍스트 입력칸
"type": "edit_box",
// 포커스 가능 여부
"focus_enabled": true,
"enabled_newline": true,
// ?? ?? ?
"max_length": 32500,
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.text_edit_box_selected",
"handle_select": true,
"handle_deselect": false,
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.text_edit_box_selected",
"handle_select": false,
"handle_deselect": true,
// 입력 시점(pressed 등)
"mapping_type": "global",
"consume_event": false
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.text_edit_box_selected",
"handle_select": true,
"handle_deselect": false,
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.text_edit_box_deselected",
"handle_select": false,
"handle_deselect": true,
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 동작을 실행할지
"to_button_id": "button.text_edit_box_hovered",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
}
]
},
// ???/?? ??
"item_renderer": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "inventory_item_renderer",
// 겹치는 순서(숫자 클수록 위)
"layer": 5
},
// ???/?? ??
"cell_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"container_scroll_background_image": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"dialog_background_common": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// 다른 템플릿을 가져와서 확장(상속)
"dialog_background_opaque@rainbowpie_ui_common.dialog_background_common": {
// "texture": "($rainbowpie_ui_path_home + '/r_white')"
},
// 다른 템플릿을 가져와서 확장(상속)
"inventory_background@rainbowpie_ui_common.dialog_background_opaque": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_theme_inventory_background_enabled)",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_background_alpha",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_inventory_oqaque",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_background_alpha": 1.0
}
]
},
// ???/?? ??
"rainbowpie_gamepad_connect_tip_anim_start": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "out_cubic",
// 걸리는 시간(초)
"duration": 0.8,
// 시작 값
"from": [ 0, "-100%y" ],
// 끝 값
"to": [ 0, 22 ],
// 다음 애니메이션으로 연결
"next": "@rainbowpie_ui_common.rainbowpie_gamepad_connect_tip_anim_wait"
},
// ???/?? ??
"rainbowpie_gamepad_connect_tip_anim_wait": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 5.0,
// 다음 애니메이션으로 연결
"next": "@rainbowpie_ui_common.rainbowpie_gamepad_connect_tip_anim_end"
},
// ???/?? ??
"rainbowpie_gamepad_connect_tip_anim_end": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "out_cubic",
"destroy_at_end": "rainbowpie_gamepad_connect_tip",
// 걸리는 시간(초)
"duration": 0.8,
// 시작 값
"from": [ 0, 22 ],
// 끝 값
"to": [ 0, "-100%y" ]
},
// 다른 템플릿을 가져와서 확장(상속)
"back_button@rainbowpie_ui_controls.back_content_panel": {
},
// ???/?? ??
"close_button": {
// 클릭 가능한 버튼
"type": "button",
// 가로/세로 크기
"size": [ 21, 21 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 오버라이드 가능한 변수
"$close_button_offset|default": [ -2, 2 ],
// 기준점에서 이동하는 거리
"offset": "$close_button_offset",
"locked_control": "",
"default_control": "default",
"hover_control": "hover",
"pressed_control": "pressed",
// ??? ??
"sound_name": "random.click",
"sound_volume": 1.0,
"sound_pitch": 1.0,
// 오버라이드 가능한 변수
"$close_button_panel_size|default": [ 15, 15 ],
// 오버라이드 가능한 변수
"$close_button_to_button_id|default": "button.menu_exit",
// 오버라이드 가능한 변수
"$default_button_alpha|default": 1,
// 오버라이드 가능한 변수
"$default_hover_alpha|default": 1,
// 오버라이드 가능한 변수
"$default_pressed_alpha|default": 1,
// 오버라이드 가능한 변수
"$close_button_visible_binding_name|default": "#close_button_visible",
// 오버라이드 가능한 변수
"$close_button_visible_binding_type|default": "none",
// 오버라이드 가능한 변수
"$button_tts_name|default": "",
// 오버라이드 가능한 변수
"$button_tts_header|default": "accessibility.button.close",
// 오버라이드 가능한 변수
"$tts_section_header|default": "",
"tts_name": "$button_tts_name",
"tts_control_header": "$button_tts_header",
"tts_section_header": "$tts_section_header",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 바인딩 종류(변수로 관리되는 경우도 있음)
"binding_type": "$close_button_visible_binding_type",
// 가져올 값 이름
"binding_name": "$close_button_visible_binding_name",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
},
{
// 가져올 값 이름
"binding_name": "#tts_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#focus_enabled"
}
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "$close_button_to_button_id",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "$close_button_to_button_id",
// 입력 시점(pressed 등)
"mapping_type": "focused"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"default@rainbowpie_ui_common.close_button_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_closebutton_icon_color": "$rainbowpie_ui_theme_closebutton_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_closebutton_background_color": "$rainbowpie_ui_theme_closebutton_default_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_closebutton_background_alpha": "$rainbowpie_ui_theme_closebutton_default_background_alpha"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hover@rainbowpie_ui_common.close_button_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_closebutton_icon_color": "$rainbowpie_ui_theme_closebutton_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_closebutton_background_color": "$rainbowpie_ui_theme_closebutton_hover_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_closebutton_background_alpha": "$rainbowpie_ui_theme_closebutton_hover_background_alpha"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pressed@rainbowpie_ui_common.close_button_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_closebutton_icon_color": "$rainbowpie_ui_theme_closebutton_pressed_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_closebutton_background_color": "$rainbowpie_ui_theme_closebutton_pressed_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_closebutton_background_alpha": "$rainbowpie_ui_theme_closebutton_pressed_background_alpha"
}
}
]
},
// ???/?? ??
"close_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$rainbowpie_localui_closebutton_icon_color|default": [],
// 오버라이드 가능한 변수
"$rainbowpie_localui_closebutton_icon_alpha|default": 1.0,
// 오버라이드 가능한 변수
"$rainbowpie_localui_closebutton_background_color|default": [],
// 오버라이드 가능한 변수
"$rainbowpie_localui_closebutton_background_alpha|default": 0.0,
// 가로/세로 크기
"size": "$close_button_panel_size",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"close_button_icon": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 가로/세로 크기
"size": [ 15, 15 ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/global/close_button/close')",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_closebutton_icon_color",
// ???
"alpha": "$rainbowpie_localui_closebutton_icon_alpha"
}
},
{
// ???/?? ??
"close_button_background": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_closebutton_background_color",
// ???
"alpha": "$rainbowpie_localui_closebutton_background_alpha"
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"text_edit_box_label@common.text_edit_box_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_input_text_color"
},
// 다른 템플릿을 가져와서 확장(상속)
"text_edit_box_place_holder_label@common.text_edit_box_place_holder_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_input_placeholder_color"
},
// 다른 템플릿을 가져와서 확장(상속)
"default_indent@common.default_indent": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_input_default_background_color"
},
// 다른 템플릿을 가져와서 확장(상속)
"edit_box_indent@common.edit_box_indent": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": "$edit_box_indent_size",
// 오버라이드 가능한 변수
"$edit_box_indent_size|default": [ "100%", "100% - 2px" ],
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_input_default_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_input_default_background_alpha",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"bottom_image": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ "100%", 2 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_input_default_btbar_color",
// ???
"alpha": "$rainbowpie_ui_theme_input_default_btbar_alpha"
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"edit_box_indent_hover@common.edit_box_indent": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": "$edit_box_indent_size",
// 오버라이드 가능한 변수
"$edit_box_indent_size|default": [ "100%", "100% - 2px" ],
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_input_hover_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_input_hover_background_alpha",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"bottom_image": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ "100%", 2 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_input_hover_btbar_color",
// ???
"alpha": "$rainbowpie_ui_theme_input_hover_btbar_alpha"
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"edit_box_indent_locked@common.edit_box_indent": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": "$edit_box_indent_size",
// 오버라이드 가능한 변수
"$edit_box_indent_size|default": [ "100%", "100% - 2px" ],
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_input_locked_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_input_locked_background_alpha",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"bottom_image": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ "100%", 2 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_input_locked_btbar_color",
// ???
"alpha": "$rainbowpie_ui_theme_input_locked_btbar_alpha"
}
}
]
},
// ???/?? ??
"slider_step": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_slider_step_progress_default_color",
// 가로/세로 크기
"size": [ 2, 6 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 기준점에서 이동하는 거리
"offset": "$step_offset"
},
// 다른 템플릿을 가져와서 확장(상속)
"slider_step_hover@rainbowpie_ui_common.slider_step": {
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_slider_step_default_hover_color"
},
// 다른 템플릿을 가져와서 확장(상속)
"slider_step_progress@rainbowpie_ui_common.slider_step": {
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_slider_step_default_default_color"
},
// 다른 템플릿을 가져와서 확장(상속)
"slider_step_progress_hover@rainbowpie_ui_common.slider_step": {
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_slider_step_progress_hover_color"
},
// 다른 템플릿을 가져와서 확장(상속)
"slider_button_state@common.slider_button_state": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_button_text_color": "$rainbowpie_ui_theme_slider_text_default_color",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_line1": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 2, "100% - 3px" ],
// 기준점에서 이동하는 거리
"offset": [ -2, 0 ],
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_this_button_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"button_line2": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 2, "100% - 3px" ],
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_this_button_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"slider_button_layout@rainbowpie_ui_common.slider_button_state": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_button_text_color": "$rainbowpie_ui_theme_slider_text_default_color",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_slider_default_button_color",
// ???
"alpha": "$rainbowpie_ui_theme_slider_default_button_alpha"
},
// 다른 템플릿을 가져와서 확장(상속)
"slider_button_hover_layout@rainbowpie_ui_common.slider_button_state": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_button_text_color": "$rainbowpie_ui_theme_slider_text_hover_color",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_slider_hover_button_color",
// ???
"alpha": "$rainbowpie_ui_theme_slider_hover_button_alpha"
},
// 다른 템플릿을 가져와서 확장(상속)
"slider_button_locked_layout@rainbowpie_ui_common.slider_button_state": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_button_text_color": "$rainbowpie_ui_theme_slider_text_locked_color",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_slider_locked_button_color",
// ???
"alpha": "$rainbowpie_ui_theme_slider_locked_button_alpha"
},
// 다른 템플릿을 가져와서 확장(상속)
"slider_button_indent_layout@rainbowpie_ui_common.slider_button_state": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_button_text_color": "$rainbowpie_ui_theme_slider_text_hover_color",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_slider_hover_button_color",
// ???
"alpha": "$rainbowpie_ui_theme_slider_hover_button_alpha"
},
// 다른 템플릿을 가져와서 확장(상속)
"slider_background@common.slider_background": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_slider_default_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_slider_default_background_alpha"
},
// 다른 템플릿을 가져와서 확장(상속)
"slider_background_hover@common.slider_background_hover": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_slider_hover_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_slider_hover_background_alpha"
},
// 다른 템플릿을 가져와서 확장(상속)
"slider_progress@common.slider_progress": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_slider_default_progress_color",
// ???
"alpha": "$rainbowpie_ui_theme_slider_default_progress_alpha"
},
// 다른 템플릿을 가져와서 확장(상속)
"slider_progress_hover@common.slider_progress_hover": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_slider_hover_progress_color",
// ???
"alpha": "$rainbowpie_ui_theme_slider_hover_progress_alpha"
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_dropdown@common.dropdown": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$dropdown_background_control": "rainbowpie_ui_controls.scroll_background_image",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_show_button|default": "$rainbowpie_ui_flag_dropdown_default_show_button",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_offset|default": [ 0, 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_size|default": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content|default": [
{
// 다른 템플릿을 가져와서 확장(상속)
"1@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#placeholder1",
// 오버라이드 가능한 변수
"$radio_label_text": "placeholder 1"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"2@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#placeholder2",
// 오버라이드 가능한 변수
"$radio_label_text": "placeholder 2"
}
}
],
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content_panel|default": "rainbowpie_ui_common.rainbowpie_dropdown_content_panel",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_type|default": "common.dropdown",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_localui_dropdown_offset",
// 가로/세로 크기
"size": "$rainbowpie_localui_dropdown_size",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"dropdown_button_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dropdown_content@$rainbowpie_localui_dropdown_content_panel": {}
},
{
// ???/?? ??
"padding": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_84d26622)",
// 보이기/숨기기(공간 유지)
"visible": "$rainbowpie_localui_dropdown_show_button",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "60%y", "100%" ],
"min_size": [ 20, "100%" ]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"dropdown@$rainbowpie_localui_dropdown_type": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_84d26622)",
// 보이기/숨기기(공간 유지)
"visible": "$rainbowpie_localui_dropdown_show_button",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$anchor_dropdown_content_from": "top_right",
// 오버라이드 가능한 변수
"$anchor_dropdown_content_to": "top_right",
// 오버라이드 가능한 변수
"$dropdown_toggle": "rainbowpie_ui_common.options_dropdown_toggle_control",
// 오버라이드 가능한 변수
"$dropdown_background": "$dropdown_background_control",
// 오버라이드 가능한 변수
"$dropdown_content|default": "unset_dropdown_content",
// 오버라이드 가능한 변수
"$dropdown_name|default": "unset $dropdown_name",
// 오버라이드 가능한 변수
"$options_dropdown_toggle_label_binding|default": "unset $options_dropdown_toggle_label_text",
// 오버라이드 가능한 변수
"$locked_alpha": 0.5,
// 오버라이드 가능한 변수
"$toggle_tts_header": "$option_label"
}
}
]
},
// ???/?? ??
"rainbowpie_dropdown_content_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": "$rainbowpie_localui_dropdown_content"
},
// 다른 템플릿을 가져와서 확장(상속)
"options_dropdown_toggle_control@settings_common.options_dropdown_toggle_control": {
// 오버라이드 가능한 변수
"$button_type_panel": "rainbowpie_ui_common.options_dropdown_toggle_control_button_type_panel",
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_locked",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_locked",
// 가로/세로 크기
"size": [ "60%y", "100%" ],
"min_size": [ 20, "100%" ],
// 기준점에서 이동하는 거리
"offset": [ "100% - 100%x", 0 ]
},
// ???/?? ??
"options_dropdown_toggle_control_button_type_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"dropdown_chevron_image": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 사용할 이미지 경로
"texture": "textures/ui/chevron_white_down",
// ?? (R,G,B,A)
"color": "$text_color",
// 가로/세로 크기
"size": [ 8, 8 ]
}
}
]
},
// ???/?? ??
"screen_background": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_watermark|default": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_ingame|default": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_ignored|default": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_override_ignored|default": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_blur|default": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@rainbowpie_ui_common.global_background": {
// 완전히 제거(공간도 없음)
"ignored": "(((not $is_pregame) and (not $rainbowpie_localui_screenbackground_ingame)) or $rainbowpie_localui_screenbackground_override_ignored or $rainbowpie_localui_screenbackground_blur)",
// 가로/세로 크기
"size": [ "100%", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background@mintui_background.background_fullscreen": {
// 완전히 제거(공간도 없음)
"ignored": "(((not $is_pregame) and (not $rainbowpie_localui_screenbackground_ingame)) or $rainbowpie_localui_screenbackground_ignored or $rainbowpie_localui_screenbackground_blur)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background_blur@mintui_background.background_blur_fullscreen": {
// 완전히 제거(공간도 없음)
"ignored": "(((not $is_pregame) and (not $rainbowpie_localui_screenbackground_ingame)) or $rainbowpie_localui_screenbackground_ignored or (not $rainbowpie_localui_screenbackground_blur))",
// 오버라이드 가능한 변수
"$background_mask": false
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"watermark_draw@rainbowpie_ui_common.watermark_draw": {
// 완전히 제거(공간도 없음)
"ignored": "(((($rainbowpie_ui_flag_watermark_awalys - $rainbowpieui_branch_type) = $rainbowpie_ui_flag_watermark_awalys) and (not $rainbowpie_localui_screen_watermark)) or $rainbowpie_localui_screenbackground_ignored)",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
},
// ???/?? ??
"watermark_draw": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"watermark_draw_panel@rainbowpie_ui_common.watermark_draw_panel": {}
}
]
},
// ???/?? ??
"watermark_draw_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not (($rainbowpie_ui_flag_watermark_ignore - $rainbowpieui_branch_type) = $rainbowpie_ui_flag_watermark_ignore))",
// 보이기/숨기기(공간 유지)
"visible": "$rainbowpieui_watermark",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_ui_localui_watermark_offset",
// 오버라이드 가능한 변수
"$rainbowpie_ui_localui_watermark_offset|default": [ 0, -10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"label_0": {
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$main_header_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 보여줄 글자
"text": "($mintui_pack_name + ' ' + $rainbowpieui_branch_display_name)",
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// 가로/세로 크기
"size": [ "default", 10 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 기준점에서 이동하는 거리
"offset": [ -2, -2 ]
}
},
{
// ???/?? ??
"label_1": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpieui_ci",
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$main_header_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 보여줄 글자
"text": "('\"' + $rainbowpieui_engine_version_name + '.' + $rainbowpieui_patch_version + '.' + $rainbowpieui_hotfix_version + '.' + $rainbowpieui_branch_name + '\"')",
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// 가로/세로 크기
"size": [ "default", 10 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 기준점에서 이동하는 거리
"offset": [ -2, -12 ]
}
},
{
// ???/?? ??
"label_1_ci": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpieui_ci)",
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$main_header_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 보여줄 글자
"text": "('\"' + $rainbowpieui_engine_version_name + '.' + $rainbowpieui_patch_version + '.' + $rainbowpieui_hotfix_version + '.' + $rainbowpieui_branch_name + '/' + $rainbowpieui_commit_id + '\"')",
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// 가로/세로 크기
"size": [ "default", 10 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 기준점에서 이동하는 거리
"offset": [ -2, -12 ]
}
},
{
// ???/?? ??
"label_3": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpieui_codename = '')",
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$main_header_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 보여줄 글자
"text": "($rainbowpieui_codename + '_' + $rainbowpieui_branch_type)",
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// 가로/세로 크기
"size": [ "default", 10 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 기준점에서 이동하는 거리
"offset": [ -2, -22 ]
}
}
]
},
// ???/?? ??
"debug_draw": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_debug)",
// 겹치는 순서(숫자 클수록 위)
"layer": 20,
// 오버라이드 가능한 변수
"$rainbowpie_localui_debug_name|default": "debug_draw",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"debug_draw_name@rainbowpie_ui_common.text_label": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 가로/세로 크기
"size": [ "100%", 10 ],
// 보여줄 글자
"text": "$rainbowpie_localui_debug_name",
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// ???/?? ??
"debug_draw_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/RainbowPieUI/debug_green",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ???
"alpha": 0.3
}
}
]
},
// ???/?? ??
"anim_progress_loading_bars_1": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "in_out_quad",
// 걸리는 시간(초)
"duration": 1,
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ "100% - 100%x", 0 ],
// 다음 애니메이션으로 연결
"next": "@rainbowpie_ui_common.anim_progress_loading_bars_2"
},
// ???/?? ??
"anim_progress_loading_bars_2": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "in_out_quad",
// 걸리는 시간(초)
"duration": 1,
// 시작 값
"from": [ "100% - 100%x", 0 ],
// 끝 값
"to": [ 0, 0 ],
// 다음 애니메이션으로 연결
"next": "@rainbowpie_ui_common.anim_progress_loading_bars_1"
},
// Shared UI Common
"progress_bar_inner1_anim_size": {
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "in_sine",
// 걸리는 시간(초)
"duration": 1.5,
// 시작 값
"from": [ "10%", "100%" ],
// 끝 값
"to": [ "120%", "100%" ],
// 다음 애니메이션으로 연결
"next": "@rainbowpie_ui_common.progress_bar_inner2_anim_size"
},
// ???/?? ??
"progress_bar_inner1_anim_offset": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "in_sine",
// 걸리는 시간(초)
"duration": 1.5,
// 시작 값
"from": [ "-10%", 0 ],
// 끝 값
"to": [ "100%", 0 ],
// 다음 애니메이션으로 연결
"next": "@rainbowpie_ui_common.progress_bar_inner2_anim_offset"
},
// ???/?? ??
"progress_bar_inner2_anim_size": {
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 1.0,
// 시작 값
"from": [ "75%", "100%" ],
// 끝 값
"to": [ "5%", "100%" ],
// 다음 애니메이션으로 연결
"next": "@rainbowpie_ui_common.progress_bar_inner1_anim_size"
},
// ???/?? ??
"progress_bar_inner2_anim_offset": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "out_cubic",
// 걸리는 시간(초)
"duration": 1.0,
// 시작 값
"from": [ "-75%", 0 ],
// 끝 값
"to": [ "100%", 0 ],
// 다음 애니메이션으로 연결
"next": "@rainbowpie_ui_common.progress_bar_inner1_anim_offset"
},
// ???/?? ??
"progress_loading_bars": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_progress_empty_color",
// ???
"alpha": "$rainbowpie_ui_theme_progress_empty_alpha",
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"progress_loading_bars_full": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 기준점에서 이동하는 거리
"offset": "@rainbowpie_ui_common.anim_progress_loading_bars_1",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_progress_full_color",
// ???
"alpha": "$rainbowpie_ui_theme_progress_full_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_522748cc"
}
},
{
// ???/?? ??
"android_style_progress_loading_bars_full": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
"fill": true,
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 가로/세로 크기
"size": [ 0, "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 애니메이션 목록
"anims": [
"@rainbowpie_ui_common.progress_bar_inner1_anim_size",
"@rainbowpie_ui_common.progress_bar_inner1_anim_offset"
],
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_progress_full_color",
// ???
"alpha": "$rainbowpie_ui_theme_progress_full_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_522748cc)"
}
}
]
},
// ???/?? ??
"fancy_progress_loading_bars": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_progress_empty_color",
// ???
"alpha": "$rainbowpie_ui_theme_progress_empty_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_loading_bars_bindings|default": [],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"progress_loading_bars_full": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_progress_full_color",
// ???
"alpha": "$rainbowpie_ui_theme_progress_full_alpha",
// ??? ??
"clip_direction": "left",
// ?? ??
"clip_pixelperfect": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": "$rainbowpie_localui_loading_bars_bindings"
}
}
]
},
// ???/?? ??
"screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content|default": [],
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_ingame_anim1|default": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_ingame_anim2|default": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_anims|default": [
"@rainbowpie_ui_animations.screen_exit_animation_push_offset",
"@rainbowpie_ui_animations.screen_exit_animation_pop_offset",
"@rainbowpie_ui_animations.screen_entrance_animation_push_offset",
"@rainbowpie_ui_animations.screen_entrance_animation_pop_offset",
"@rainbowpie_ui_animations.screen_exit_animation_push_offset_ingame",
"@rainbowpie_ui_animations.screen_exit_animation_pop_offset_ingame",
"@rainbowpie_ui_animations.screen_entrance_animation_push_offset_ingame",
"@rainbowpie_ui_animations.screen_entrance_animation_pop_offset_ingame"
],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 애니메이션 목록
"anims": "$rainbowpie_localui_screen_anims",
"animation_reset_name": "screen_animation_reset",
// 이 안에 들어가는 부품 목록
"controls": "$rainbowpie_localui_screen_content"
},
// ???/?? ??
"dialog_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_dialog_background_alpha"
},
// ???/?? ??
"inventory_global_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_global_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_global_background_alpha"
},
// ???/?? ??
"global_label": {
// 글자 표시
"type": "label",
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_global_text_color"
},
// ???/?? ??
"global_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_global_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_global_background_alpha"
},
// ???/?? ??
"text_label_notheme": {
// 글자 표시
"type": "label",
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"text_label": {
// 글자 표시
"type": "label",
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color"
},
// ???/?? ??
"text_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha"
},
// ???/?? ??
"title_label": {
// 글자 표시
"type": "label",
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_title_text_color"
},
// ???/?? ??
"title_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_title_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_title_background_alpha"
},
// ???/?? ??
"title_text": {
// 글자 표시
"type": "label",
// 겹치는 순서(숫자 클수록 위)
"layer": 12,
// 보여줄 글자
"text": "$rainbowpie_ui_theme_global_title_text",
"shadow": false,
// ??
"font_type": "$rainbowpie_ui_theme_global_title_text_font",
// ?? ?? ??
"font_scale_factor": "$title_text_scale",
// 오버라이드 가능한 변수
"$title_text_scale|default": 5.0
},
// ???/?? ??
"screen_header": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 50,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_title|default": "DEFAULT HEADER TITLE",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_title_bindings|default": [],
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_content_panel|default": "common.empty_panel",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_ingameblur|default": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_ingame_anim1|default": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_ingame_anim2|default": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_show_close|default": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"RainbowPieHeaderBlur@rainbowpie_ui_controls.RainbowPieHeaderMask": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"RainbowPieHeaderBlur@rainbowpie_ui_controls.RainbowPieHeaderBlur": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"RainbowPieHeaderBlurInGame@rainbowpie_ui_controls.RainbowPieHeaderBlur": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screenheader_ingameblur)",
// 오버라이드 가능한 변수
"$background_ingame": true
}
},
{
// ???/?? ??
"content_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 20 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 애니메이션 목록
"anims": [
"@rainbowpie_ui_animations.header_exit_animation_push_offset_both",
"@rainbowpie_ui_animations.header_exit_animation_pop_offset_both",
"@rainbowpie_ui_animations.header_entrance_animation_push_offset_both",
"@rainbowpie_ui_animations.header_entrance_animation_pop_offset_both",
"@rainbowpie_ui_animations.header_exit_animation_push_offset_both_ingame",
"@rainbowpie_ui_animations.header_exit_animation_pop_offset_both_ingame",
"@rainbowpie_ui_animations.header_entrance_animation_push_offset_both_ingame",
"@rainbowpie_ui_animations.header_entrance_animation_pop_offset_both_ingame"
],
"animation_reset_name": "screen_animation_reset",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"bottom_line": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 기준점에서 이동하는 거리
"offset": [ 0, 19 ],
// 가로/세로 크기
"size": [ "100%", 1 ],
// ???
"alpha": "$rainbowpie_ui_theme_topbar_splitline_alpha",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_topbar_splitline_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 22,
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle"
}
},
{
// ???/?? ??
"screen_header_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ "100%", 20 ],
// ???
"alpha": "$rainbowpie_ui_theme_topbar_background_alpha",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_topbar_background_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 21,
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle"
}
},
{
// ???/?? ??
"screen_header_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 가로/세로 크기
"size": [ "100%", 20 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 22,
// 애니메이션 목록
"anims": [
"@rainbowpie_ui_animations.header_exit_animation_push_offset",
"@rainbowpie_ui_animations.header_exit_animation_pop_offset",
"@rainbowpie_ui_animations.header_entrance_animation_push_offset",
"@rainbowpie_ui_animations.header_entrance_animation_pop_offset",
"@rainbowpie_ui_animations.header_exit_animation_push_offset_ingame",
"@rainbowpie_ui_animations.header_exit_animation_pop_offset_ingame",
"@rainbowpie_ui_animations.header_entrance_animation_push_offset_ingame",
"@rainbowpie_ui_animations.header_entrance_animation_pop_offset_ingame"
],
"animation_reset_name": "screen_animation_reset",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"back_button_content_panel@rainbowpie_ui_controls.back_content_panel": {
// 오버라이드 가능한 변수
"$focus_enabled": false,
// 보이기/숨기기(공간 유지)
"visible": "$rainbowpie_localui_screenheader_show_close",
// 오버라이드 가능한 변수
"$back_button_text": "$rainbowpie_localui_screenheader_title",
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"$rainbowpie_localui_screenheader_content_panel@$rainbowpie_localui_screenheader_content_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: rainbowpie_ui_dialog.json
// 분류: RainbowPie UI / common
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpie_ui_dialog",
// ???/?? ??
"header_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_header_color",
// ???
"alpha": "$rainbowpie_ui_theme_dialog_header_alpha"
},
// ???/?? ??
"content_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_content_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_dialog_content_background_alpha"
},
// ???/?? ??
"header": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 23 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title|default": "Default Dialog Header Title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title_bindings|default": [],
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_show_close|default": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_extra_controls|default": "common.empty_panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"debug01@rainbowpie_ui_common.debug_draw": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_debug_name": "dialog_header"
}
},
{
// ???/?? ??
"popup_dialog_background_ingame": {
// 이미지 표시
"type": "image",
// 완전히 제거(공간도 없음)
"ignored": "$is_pregame",
// 보이기/숨기기(공간 유지)
"visible": "$rainbowpie_ui_flag_d36e5f2a",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_dialog_background_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_dialog_ingame_oqaque",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_dialog_background_alpha": 1.0
}
]
}
},
{
// ???/?? ??
"header_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_background@rainbowpie_ui_dialog.header_background": {
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"title_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_border_center": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_3f247b1e)",
// 가로/세로 크기
"size": [ "fill", 0 ]
}
},
{
// ???/?? ??
"padding_border": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, 0 ]
}
},
{
// ???/?? ??
"title_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
"max_size": [ "100% - 100%y - 8px", "100%" ],
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_label@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", "default" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_title_color",
// 보여줄 글자
"text": "$rainbowpie_localui_dialogheader_title",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 게임 값과 연결하는 규칙 목록
"bindings": "$rainbowpie_localui_dialogheader_title_bindings"
}
}
]
}
},
{
// ???/?? ??
"padding_border2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, 0 ]
}
},
{
// ???/?? ??
"header_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "fill", "100%" ],
"min_size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"header_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"$rainbowpie_localui_dialogheader_extra_controls@$rainbowpie_localui_dialogheader_extra_controls": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_localui_dialogheader_extra_controls = 'common.empty_panel')"
}
},
{
// ???/?? ??
"button_background": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 보이기/숨기기(공간 유지)
"visible": "$rainbowpie_localui_dialogheader_show_close",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@rainbowpie_ui_common.close_button": {
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_closebutton_default_color": "$rainbowpie_ui_theme_dialog_title_color",
// 오버라이드 가능한 변수
"$close_button_panel_size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"dialog_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content|default": "common.empty_panel",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_show_background|default": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"header@rainbowpie_ui_dialog.header": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background@rainbowpie_ui_dialog.content_background": {
// 보이기/숨기기(공간 유지)
"visible": "$rainbowpie_localui_dialog_show_background",
// 가로/세로 크기
"size": [ "100%", "100% - 23px" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}
},
{
// ???/?? ??
"content_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100% - 23px" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"popup_dialog_background_ingame": {
// 이미지 표시
"type": "image",
// 완전히 제거(공간도 없음)
"ignored": "$is_pregame",
// 보이기/숨기기(공간 유지)
"visible": "$rainbowpie_ui_flag_d36e5f2a",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_dialog_background_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": -10,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_dialog_ingame_oqaque",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_dialog_background_alpha": 1.0
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"$rainbowpie_localui_dialog_content@$rainbowpie_localui_dialog_content": {}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: rainbowpie_ui_gameplay.json
// 분류: RainbowPie UI / common
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpie_ui_gameplay"
}
필요한 부분만 참고해서 가져가세요.
// 예제: rainbowpie_ui_inventory.json
// 분류: RainbowPie UI / common
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpie_ui_inventory",
// ???/?? ??
"fastplace_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "64.28571428571429%", "50%" ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/fastplace')"
},
// 다른 템플릿을 가져와서 확장(상속)
"fastplace_button_toggle_base@common_toggles.light_ui_toggle": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_border_enabled": false,
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_content": "rainbowpie_ui_inventory.fastplace_icon",
// 오버라이드 가능한 변수
"$button_type_panel": "common_buttons.new_ui_binding_button_label",
// 오버라이드 가능한 변수
"$button_text_binding_type": "none",
// 오버라이드 가능한 변수
"$button_binding_condition": "none",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "none",
// 오버라이드 가능한 변수
"$button_text": "",
// 오버라이드 가능한 변수
"$button_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$radio_toggle_group": false,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpie_inventoryui_item_fastplace",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 1011,
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 0,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": ""
},
// ???/?? ??
"hide_search_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/chevron_right",
// 가로/세로 크기
"size": [ "70%", "70%" ],
// ?? (R,G,B,A)
"color": "$text_color"
},
// ???/?? ??
"search_box_place_holder_control": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"search_icon": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ 10, 10 ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/search')",
// ???
"alpha": 0.5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"place_holder_text@common.text_edit_box_place_holder_label": {
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점에서 이동하는 거리
"offset": [ 12, 0 ]
}
}
]
},
// ???/?? ??
"search_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "50%", "50%" ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/search')"
},
// 다른 템플릿을 가져와서 확장(상속)
"search_button_toggle_base@common_toggles.light_ui_toggle": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_border_enabled": false,
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_content": "rainbowpie_ui_inventory.search_icon",
// 오버라이드 가능한 변수
"$button_type_panel": "common_buttons.new_ui_binding_button_label",
// 오버라이드 가능한 변수
"$button_text_binding_type": "none",
// 오버라이드 가능한 변수
"$button_binding_condition": "none",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "none",
// 오버라이드 가능한 변수
"$button_text": "",
// 오버라이드 가능한 변수
"$button_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpie_inventoryui_item_search",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 1001,
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 0,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": ""
},
// ???/?? ??
"background_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": "$rainbowpie_ui_theme_inventory_bgicon_size",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_ui_theme_inventory_bgicon_offset",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$rainbowpie_ui_theme_inventory_bgicon_anchor",
// 기준점(어디에서 시작할지)
"anchor_from": "$rainbowpie_ui_theme_inventory_bgicon_anchor",
// 사용할 이미지 경로
"texture": "$rainbowpie_ui_theme_inventory_bgicon_texture_container",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_bgicon_alpha",
"fill": "$rainbowpie_ui_theme_inventory_bgicon_fill",
// 겹치는 순서(숫자 클수록 위)
"layer": 4
},
// ???/?? ??
"header_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_header_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_header_alpha",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_inventory_oqaque",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_header_alpha": 1.0
}
]
},
// ???/?? ??
"live_player_renderer": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 40, 40 ],
// 기준점에서 이동하는 거리
"offset": [ "-100%x", -16 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"live_player": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "live_player_renderer",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#look_at_cursor": true
},
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"animation_reset_name": "screen_animation_reset",
// 애니메이션 목록
"anims": [
"@common.screen_exit_size_animation_push",
"@common.screen_exit_size_animation_pop",
"@common.screen_entrance_size_animation_push",
"@common.screen_entrance_size_animation_pop"
]
}
}
]
},
// ???/?? ??
"header": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 8px", 23 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 3 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title|default": "Default Inventory Header Title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_bindings|default": [],
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_extra_controls|default": "common.empty_panel",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border1_size|default": [ 4, 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border2_size|default": [ 4, 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_search_ignored|default": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"debug01@rainbowpie_ui_common.debug_draw": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_debug_name": "inventory_header"
}
},
{
// ???/?? ??
"header_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_background@rainbowpie_ui_inventory.header_background": {
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"title_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_border_center": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_3f611894)",
// 가로/세로 크기
"size": [ "fill", 0 ]
}
},
{
// ???/?? ??
"padding_border": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, 0 ]
}
},
{
// ???/?? ??
"title_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "fill", "100%" ],
"max_size": [ "100% - 100%y - 8px", "100%" ],
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_label@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", "default" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_header_title_color",
// 보여줄 글자
"text": "$rainbowpie_localui_inventoryheader_title",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 게임 값과 연결하는 규칙 목록
"bindings": "$rainbowpie_localui_inventoryheader_title_bindings"
}
}
]
}
},
{
// ???/?? ??
"padding_border2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, 0 ]
}
},
{
// ???/?? ??
"header_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"header_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"extra_control_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 보이기/숨기기(공간 유지)
"visible": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_search_box",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_d6bb54d8) or (not $rainbowpie_ui_flag_84df7492) or $rainbowpie_localui_inventoryheader_search_ignored)"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"$rainbowpie_localui_inventoryheader_extra_controls@$rainbowpie_localui_inventoryheader_extra_controls": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_localui_inventoryheader_extra_controls = 'common.empty_panel')"
}
}
]
}
},
// add tab in ft
{
// ???/?? ??
"fastplace_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_29bdcf8a) or (not $rainbowpie_ui_flag_84df7492) or $rainbowpie_localui_inventoryheader_search_ignored)",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_search_box",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_d6bb54d8) or (not $rainbowpie_ui_flag_84df7492) or $rainbowpie_localui_inventoryheader_search_ignored)"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"fastplace_button@rainbowpie_ui_inventory.fastplace_button_toggle_base": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.0,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1010,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "inventoryui_fastplace",
// 겹치는 순서(숫자 클수록 위)
"layer": 10
}
}
]
}
},
{
// ???/?? ??
"search_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_d6bb54d8) or (not $rainbowpie_ui_flag_84df7492) or $rainbowpie_localui_inventoryheader_search_ignored)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"search_inputbox": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_search_box",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"back_button@rainbowpie_ui_inventory.search_button_toggle_base": {
// 오버라이드 가능한 변수
"$button_content": "rainbowpie_ui_inventory.hide_search_icon",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "100%y", "76%" ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1001,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "hide_search_box",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 오버라이드 가능한 변수
"$button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_search_box",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"search_text_box@common.text_edit_box": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_editbox_enabled": true,
// 오버라이드 가능한 변수
"$edit_box_indent_size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "440%y", "76%" ],
// 오버라이드 가능한 변수
"$text_box_name": "inventoryui_search_text_box",
// 오버라이드 가능한 변수
"$text_edit_box_content_binding_name": "#inventoryui_search_text_box_item_name",
// 오버라이드 가능한 변수
"$text_edit_text_control": "inventoryui_search_text_box_display_text",
// 오버라이드 가능한 변수
"$place_holder_control": "rainbowpie_ui_inventory.search_box_place_holder_control",
// 오버라이드 가능한 변수
"$place_holder_text": "itemGroup.search",
// 끝에서 다시 처음으로 순환
"focus_wrap_enabled": false,
// ?? ?? ?
"max_length": 32767,
// 겹치는 순서(숫자 클수록 위)
"layer": 12
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"search_button@rainbowpie_ui_inventory.search_button_toggle_base": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.0,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1000,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "show_search_box",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_search_box",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_search_box",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
},
{
// ???/?? ??
"button_background": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@rainbowpie_ui_common.close_button": {
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_closebutton_default_color": "$rainbowpie_ui_theme_inventory_header_title_color",
// 오버라이드 가능한 변수
"$close_button_panel_size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"header_pocket": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 25 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_single_title|default": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title|default": "Default Inventory Header Title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_bindings|default": [],
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_inventory_title|default": "Default Inventory Header Title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_inventory_title_bindings|default": [],
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_container_title|default": "Default Container Header Title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_container_title_bindings|default": [],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@rainbowpie_ui_common.close_button": {
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_closebutton_default_color": "$rainbowpie_ui_theme_inventory_header_title_color",
// 오버라이드 가능한 변수
"$close_button_panel_size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"title_background@rainbowpie_ui_inventory.header_background": {
// 가로/세로 크기
"size": [ "100%", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"title_label@rainbowpie_ui_common.text_label_notheme": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_inventoryheader_single_title)",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_header_title_color",
// 보여줄 글자
"text": "$rainbowpie_localui_inventoryheader_title",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 게임 값과 연결하는 규칙 목록
"bindings": "$rainbowpie_localui_inventoryheader_title_bindings"
}
},
{
// ???/?? ??
"header_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_inventoryheader_single_title",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"inventory_title": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "50%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_label@rainbowpie_ui_common.text_label_notheme": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_header_title_color",
// 보여줄 글자
"text": "$rainbowpie_localui_inventoryheader_inventory_title",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 게임 값과 연결하는 규칙 목록
"bindings": "$rainbowpie_localui_inventoryheader_inventory_title_bindings"
}
}
]
}
},
{
// ???/?? ??
"container_title": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "50%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_label@rainbowpie_ui_common.text_label_notheme": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_header_title_color",
// 보여줄 글자
"text": "$rainbowpie_localui_inventoryheader_container_title",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 게임 값과 연결하는 규칙 목록
"bindings": "$rainbowpie_localui_inventoryheader_container_title_bindings"
}
}
]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: rainbowpie_ui_store_common.json
// 분류: RainbowPie UI / common
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpie_ui_store_common",
// ???/?? ??
"header_content_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$ignore_inventory_button": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"title_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"status_and_coins@common_store.status_with_coins": {
// 완전히 제거(공간도 없음)
"ignored": "$store_disabled",
// 오버라이드 가능한 변수
"$top_status_and_coins_visible_binding_type|default": "none",
// 오버라이드 가능한 변수
"$top_status_and_coins_visible_binding|default": "",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 바인딩 종류(변수로 관리되는 경우도 있음)
"binding_type": "$top_status_and_coins_visible_binding_type",
// 가져올 값 이름
"binding_name": "$top_status_and_coins_visible_binding",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"padding5": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, "100%" ]
}
},
{
// ???/?? ??
"search_header_stack": {
// 완전히 제거(공간도 없음)
"ignored": "($is_on_3p_server or $ignore_search)",
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"search_header_text_box_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 80, "100%" ],
// 오버라이드 가능한 변수
"$text_edit_clipping_panel_size": [ 57, 15 ],
// 오버라이드 가능한 변수
"$text_edit_box_label_anchor_point": "left_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"search_header_text_box@common.text_edit_box": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_editbox_enabled": true,
// 오버라이드 가능한 변수
"$edit_box_indent_size": [ "100%", "100%" ],
// 가로/세로 크기
"size": [ "100%", "100% - 3px" ],
// ?? ?? ?
"max_length": 50,
// 오버라이드 가능한 변수
"$text_box_name": "search_header_text_box",
// 오버라이드 가능한 변수
"$text_edit_box_enabled_binding_type": "none",
// 오버라이드 가능한 변수
"$text_edit_box_content_binding_name": "#search_header_box_text_content",
// 오버라이드 가능한 변수
"$place_holder_text": "realmsSettingsScreen.searchBox",
// 오버라이드 가능한 변수
"$enabled": true,
// 오버라이드 가능한 변수
"$focus_override_left": "purchase_coins_panel",
// 오버라이드 가능한 변수
"$focus_override_right": "store_layout_search_button",
// 오버라이드 가능한 변수
"$focus_id": "search_header_text_box",
// 끝에서 다시 처음으로 순환
"focus_wrap_enabled": false,
// 포커스 가능 여부
"focus_enabled": true
}
}
]
}
},
{
// ???/?? ??
"store_layout_search_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"store_layout_search_button@store_layout.store_layout_ribbon_search_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 가로/세로 크기
"size": [ "100%y", "100% - 3px" ],
// 오버라이드 가능한 변수
"$focus_id": "store_layout_search_button",
// 오버라이드 가능한 변수
"$button_tts_header": "store.search.button"
}
}
]
}
},
{
// ???/?? ??
"padding0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, "100%" ]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#search_header_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: rainbowpie_ui_tab.json
// 분류: RainbowPie UI / common
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpie_ui_tab",
// ???/?? ??
"tab_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$tab_content|default": "common_tabs.empty_tab_content",
// 오버라이드 가능한 변수
"$is_transparent_enabled|default": false,
// 오버라이드 가능한 변수
"$is_checked_bar_enabled|default": true,
// 오버라이드 가능한 변수
"$checked_bar_anchor|default": "top",
// 오버라이드 가능한 변수
"$tab_image_size|default": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$tab_image_offset|default": [ 0, 0 ],
// 오버라이드 가능한 변수
"$tab_image_anchor|default": "center",
// 오버라이드 가능한 변수
"$tab_content_size|default": [ "100% - 4px", "100% - 4px" ],
// 오버라이드 가능한 변수
"$tab_content_offset|default": [ 0, 0 ],
// 오버라이드 가능한 변수
"$tab_content_anchor|default": "center",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_color|default": [],
// 오버라이드 가능한 변수
"$hover_state|default": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_border_layer|default": 50,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_glint": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$tab_image_size",
// 기준점에서 이동하는 거리
"offset": "$tab_image_offset",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$tab_image_anchor",
// 기준점(어디에서 시작할지)
"anchor_from": "$tab_image_anchor",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_99d9851a)",
// 겹치는 순서(숫자 클수록 위)
"layer": "$rainbowpie_localui_button_hover_border_layer",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hover@rainbowpie_ui_button.glint_border_base": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_glint_size": [ 72, 72 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_glint_alpha": 0.25,
// 완전히 제거(공간도 없음)
"ignored": "(not $hover_state)",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": "($rainbowpie_localui_button_hover_border_layer - ($rainbowpie_localui_button_hover_border_layer * 2))"
}
}
]
}
},
{
// ???/?? ??
"checked_image": {
// 보이기/숨기기(공간 유지)
"visible": "$is_checked_bar_enabled",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$tab_image_size",
// 기준점에서 이동하는 거리
"offset": "$tab_image_offset",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$tab_image_anchor",
// 기준점(어디에서 시작할지)
"anchor_from": "$tab_image_anchor",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"checked_top": {
// 완전히 제거(공간도 없음)
"ignored": "(not $is_checked_state)",
// 보이기/숨기기(공간 유지)
"visible": "($checked_bar_anchor = 'top')",
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ "100%", 2 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_toggle_background_checked_default_btbar_color",
// ???
"alpha": "$rainbowpie_ui_theme_toggle_background_checked_default_btbar_alpha"
}
},
{
// ???/?? ??
"checked_left": {
// 완전히 제거(공간도 없음)
"ignored": "(not $is_checked_state)",
// 보이기/숨기기(공간 유지)
"visible": "($checked_bar_anchor = 'left')",
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ 2, "100%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_toggle_background_checked_default_btbar_color",
// ???
"alpha": "$rainbowpie_ui_theme_toggle_background_checked_default_btbar_alpha"
}
},
{
// ???/?? ??
"checked_right": {
// 완전히 제거(공간도 없음)
"ignored": "(not $is_checked_state)",
// 보이기/숨기기(공간 유지)
"visible": "($checked_bar_anchor = 'right')",
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ 2, "100%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_toggle_background_checked_default_btbar_color",
// ???
"alpha": "$rainbowpie_ui_theme_toggle_background_checked_default_btbar_alpha"
}
}
]
}
},
{
// ???/?? ??
"tab_image": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": "$tab_image_size",
// 기준점에서 이동하는 거리
"offset": "$tab_image_offset",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$tab_image_anchor",
// 기준점(어디에서 시작할지)
"anchor_from": "$tab_image_anchor",
// 오버라이드 가능한 변수
"$texture|default": "textures/ui/White",
// 사용할 이미지 경로
"texture": "$texture",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_color|default": [ 0.0, 0.0, 0.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_toggle_alpha|default": 0.5,
// ?? (R,G,B,A)
"color": "$rainbowpie_toggle_color",
// ???
"alpha": "$rainbowpie_toggle_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$is_transparent_enabled",
// 오버라이드 가능한 변수
"$texture": ""
}
]
}
},
{
// ???/?? ??
"tab_content_sizer": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$text_color": "$rainbowpie_localui_button_text_color",
// 오버라이드 가능한 변수
"$glyph_color": "$rainbowpie_localui_button_text_color",
// 가로/세로 크기
"size": "$tab_content_size",
// 기준점에서 이동하는 거리
"offset": "$tab_content_offset",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$tab_content_anchor",
// 기준점(어디에서 시작할지)
"anchor_from": "$tab_content_anchor",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"tab_content@$tab_content": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: rainbowpie_ui_toggle.json
// 분류: RainbowPie UI / common
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpie_ui_toggle",
// 다른 템플릿을 가져와서 확장(상속)
"toggle_content_button_panel@rainbowpie_ui_button.rainbowpie_ui_content_button": {
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_content_button_unchecked@rainbowpie_ui_toggle.toggle_content_button_panel": {
// Rainbow Pie UI Variables
// Button State
"$default_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_content_button_unchecked_hover@rainbowpie_ui_toggle.toggle_content_button_panel": {
// Rainbow Pie UI Variables
// Button State
"$hover_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_content_button_unchecked_locked@rainbowpie_ui_toggle.toggle_content_button_panel": {
// Rainbow Pie UI Variables
// Button State
"$locked_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_content_button_unchecked_locked_hover@rainbowpie_ui_toggle.toggle_content_button_panel": {
// Rainbow Pie UI Variables
// Button State
"$locked_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_content_button_checked@rainbowpie_ui_toggle.toggle_content_button_panel": {
// Rainbow Pie UI Variables
// Button State
"$default_state": true,
// 오버라이드 가능한 변수
"$check_state": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_border_always_visible": true
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_content_button_checked_hover@rainbowpie_ui_toggle.toggle_content_button_panel": {
// Rainbow Pie UI Variables
// Button State
"$hover_state": true,
// 오버라이드 가능한 변수
"$check_state": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_border_always_visible": true
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_content_button_checked_locked@rainbowpie_ui_toggle.toggle_content_button_panel": {
// Rainbow Pie UI Variables
// Button State
"$locked_state": true,
// 오버라이드 가능한 변수
"$check_state": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_border_always_visible": true
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_content_button_checked_locked_hover@rainbowpie_ui_toggle.toggle_content_button_panel": {
// Rainbow Pie UI Variables
// Button State
"$locked_state": true,
// 오버라이드 가능한 변수
"$check_state": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_border_always_visible": true
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_button_panel@rainbowpie_ui_button.rainbowpie_ui_text_button": {
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_button_unchecked@rainbowpie_ui_toggle.toggle_button_panel": {
// Rainbow Pie UI Variables
// Button State
"$default_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_button_unchecked_hover@rainbowpie_ui_toggle.toggle_button_panel": {
// Rainbow Pie UI Variables
// Button State
"$hover_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_button_unchecked_locked@rainbowpie_ui_toggle.toggle_button_panel": {
// Rainbow Pie UI Variables
// Button State
"$locked_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_button_unchecked_locked_hover@rainbowpie_ui_toggle.toggle_button_panel": {
// Rainbow Pie UI Variables
// Button State
"$locked_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_button_checked@rainbowpie_ui_toggle.toggle_button_panel": {
// Rainbow Pie UI Variables
// Button State
"$default_state": true,
// 오버라이드 가능한 변수
"$check_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_button_checked_hover@rainbowpie_ui_toggle.toggle_button_panel": {
// Rainbow Pie UI Variables
// Button State
"$hover_state": true,
// 오버라이드 가능한 변수
"$check_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_button_checked_locked@rainbowpie_ui_toggle.toggle_button_panel": {
// Rainbow Pie UI Variables
// Button State
"$locked_state": true,
// 오버라이드 가능한 변수
"$check_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_button_checked_locked_hover@rainbowpie_ui_toggle.toggle_button_panel": {
// Rainbow Pie UI Variables
// Button State
"$locked_state": true,
// 오버라이드 가능한 변수
"$check_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_tab_panel@rainbowpie_ui_button.rainbowpie_ui_button_default": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_color|default": [],
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_alpha|default": 1.0,
// 오버라이드 가능한 변수
"$check_state|default": false,
// 오버라이드 가능한 변수
"$button_image_size": [
"100%",
"100%"
],
// 오버라이드 가능한 변수
"$toggle_image": "common.empty_panel",
// 오버라이드 가능한 변수
"$checked_bar_anchor|default": "top",
// 오버라이드 가능한 변수
"$is_checked_bar_enabled|default": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_controls": [
{
// ???/?? ??
"button_glint": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$button_image_size",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_99d9851a)",
// 보이기/숨기기(공간 유지)
"visible": "$button_image_visible",
// 겹치는 순서(숫자 클수록 위)
"layer": "$rainbowpie_localui_button_hover_border_layer",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hover@rainbowpie_ui_button.glint_border_base": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_glint_size": [ 72, 72 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_glint_alpha": 0.25,
// 완전히 제거(공간도 없음)
"ignored": "(not $hover_state)",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": "($rainbowpie_localui_button_hover_border_layer - ($rainbowpie_localui_button_hover_border_layer * 2))"
}
}
]
}
},
{
// ???/?? ??
"button_background": {
// 이미지 표시
"type": "image",
// 완전히 제거(공간도 없음)
"ignored": "(not $button_image_visible)",
// 가로/세로 크기
"size": "$button_image_size",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_button_color",
// ???
"alpha": "$rainbowpie_localui_button_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"checked_image": {
// 보이기/숨기기(공간 유지)
"visible": "$is_checked_bar_enabled",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$button_image_size",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"checked_top": {
// 완전히 제거(공간도 없음)
"ignored": "(not $check_state)",
// 보이기/숨기기(공간 유지)
"visible": "($checked_bar_anchor = 'top')",
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [
"100%",
2
],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_toggle_btbar_color",
// ???
"alpha": "$rainbowpie_localui_toggle_btbar_alpha"
}
},
{
// ???/?? ??
"checked_left": {
// 완전히 제거(공간도 없음)
"ignored": "(not $check_state)",
// 보이기/숨기기(공간 유지)
"visible": "($checked_bar_anchor = 'left')",
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [
2,
"100%"
],
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_toggle_btbar_color",
// ???
"alpha": "$rainbowpie_localui_toggle_btbar_alpha"
}
},
{
// ???/?? ??
"checked_right": {
// 완전히 제거(공간도 없음)
"ignored": "(not $check_state)",
// 보이기/숨기기(공간 유지)
"visible": "($checked_bar_anchor = 'right')",
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [
2,
"100%"
],
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_toggle_btbar_color",
// ???
"alpha": "$rainbowpie_localui_toggle_btbar_alpha"
}
}
]
}
},
{
// ???/?? ??
"button_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$button_content_size|default": [
"100% - 6px",
"100% - 6px"
],
// 가로/세로 크기
"size": "$button_content_size",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"$button_type_panel@$button_type_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_tab_unchecked@rainbowpie_ui_toggle.toggle_tab_panel": {
// Rainbow Pie UI Variables
"$rainbowpie_localui_button_text_default_color|default": "$rainbowpie_ui_theme_toggle_text_default_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_hover_color|default": "$rainbowpie_ui_theme_toggle_text_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_pressed_color|default": "$rainbowpie_ui_theme_toggle_text_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_default_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_alpha",
// Button State
"$default_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_tab_unchecked_hover@rainbowpie_ui_toggle.toggle_tab_panel": {
// Rainbow Pie UI Variables
"$rainbowpie_localui_button_text_default_color|default": "$rainbowpie_ui_theme_toggle_text_default_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_hover_color|default": "$rainbowpie_ui_theme_toggle_text_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_pressed_color|default": "$rainbowpie_ui_theme_toggle_text_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_default_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_alpha",
// Button State
"$hover_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_tab_unchecked_locked@rainbowpie_ui_toggle.toggle_tab_panel": {
// Rainbow Pie UI Variables
"$rainbowpie_localui_button_text_color": "$rainbowpie_ui_theme_toggle_text_locked_checked_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_locked_color|default": "$rainbowpie_ui_theme_toggle_background_locked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_locked_alpha|default": "$rainbowpie_ui_theme_toggle_background_locked_default_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_alpha",
// Button State
"$locked_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_tab_unchecked_locked_hover@rainbowpie_ui_toggle.toggle_tab_panel": {
// Rainbow Pie UI Variables
"$rainbowpie_localui_button_text_color": "$rainbowpie_ui_theme_toggle_text_locked_checked_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_locked_color|default": "$rainbowpie_ui_theme_toggle_background_locked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_locked_alpha|default": "$rainbowpie_ui_theme_toggle_background_locked_default_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_alpha",
// Button State
"$locked_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_tab_checked@rainbowpie_ui_toggle.toggle_tab_panel": {
// Rainbow Pie UI Variables
"$rainbowpie_localui_button_text_default_color|default": "$rainbowpie_ui_theme_toggle_text_checked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_hover_color|default": "$rainbowpie_ui_theme_toggle_text_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_pressed_color|default": "$rainbowpie_ui_theme_toggle_text_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_color|default": "$rainbowpie_ui_theme_toggle_background_checked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_color|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_default_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_btbar_alpha",
// Button State
"$default_state": true,
// 오버라이드 가능한 변수
"$check_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_tab_checked_hover@rainbowpie_ui_toggle.toggle_tab_panel": {
// Rainbow Pie UI Variables
"$rainbowpie_localui_button_text_default_color|default": "$rainbowpie_ui_theme_toggle_text_checked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_hover_color|default": "$rainbowpie_ui_theme_toggle_text_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_pressed_color|default": "$rainbowpie_ui_theme_toggle_text_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_color|default": "$rainbowpie_ui_theme_toggle_background_checked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_color|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_default_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_btbar_alpha",
// Button State
"$hover_state": true,
// 오버라이드 가능한 변수
"$check_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_tab_checked_locked@rainbowpie_ui_toggle.toggle_tab_panel": {
// Rainbow Pie UI Variables
"$rainbowpie_localui_button_text_color": "$rainbowpie_ui_theme_toggle_text_locked_checked_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_locked_color|default": "$rainbowpie_ui_theme_toggle_background_locked_checked_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_color|default": "$rainbowpie_ui_theme_toggle_background_locked_checked_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_locked_alpha|default": "$rainbowpie_ui_theme_toggle_background_locked_checked_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_alpha|default": "$rainbowpie_ui_theme_toggle_background_locked_checked_btbar_alpha",
// Button State
"$locked_state": true,
// 오버라이드 가능한 변수
"$check_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_tab_checked_locked_hover@rainbowpie_ui_toggle.toggle_tab_panel": {
// Rainbow Pie UI Variables
"$rainbowpie_localui_button_text_color": "$rainbowpie_ui_theme_toggle_text_locked_checked_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_locked_color|default": "$rainbowpie_ui_theme_toggle_background_locked_checked_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_color|default": "$rainbowpie_ui_theme_toggle_background_locked_checked_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_locked_alpha|default": "$rainbowpie_ui_theme_toggle_background_locked_checked_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_alpha|default": "$rainbowpie_ui_theme_toggle_background_locked_checked_btbar_alpha",
// Button State
"$locked_state": true,
// 오버라이드 가능한 변수
"$check_state": true
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: chest_fastpick.json
// 분류: RainbowPie UI / module
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpie_module_chest_fastpick",
// ???/?? ??
"pickup_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/chest_pickup')",
// ?? (R,G,B,A)
"color": "$text_color"
},
// ???/?? ??
"putin_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/chest_putin')",
// ?? (R,G,B,A)
"color": "$text_color"
},
// ???/?? ??
"drop_icon": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$count_text|default": "x1",
// 오버라이드 가능한 변수
"$container_item_id|default": "$rainbowpie_ui_flag_item_chest",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"container@crafting.item_renderer": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#item_id_aux": "($container_item_id * 65536)"
}
}
},
{
// ???/?? ??
"down_arrow": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 가로/세로 크기
"size": [ "62.5%", "100%x" ],
// 기준점에서 이동하는 거리
"offset": [ "20%x", 0 ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/arrow_down')",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
}
]
},
// ???/?? ??
"slot_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"input_panel": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "100%", "100%x" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
"consume_hover_events": false,
// 보이기/숨기기(공간 유지)
"visible": false,
// 오버라이드 가능한 변수
"$button_take_all_place_all|default": "button.container_auto_place",
// 오버라이드 가능한 변수
"$button_auto_place|default": "rainbowpie.placeholder",
// 오버라이드 가능한 변수
"$button_mapping_type|default": "pressed",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#is_query_target": true
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#hover_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #hover_text - '\n' - '§0' - '§1' - '§2' - '§3' - '§4' - '§5' - '§6' - '§7' - '§8' - '§9' - '§a' - '§b' - '§c' - '§d' - '§e' - '§f' - '§g' - '§h' - '§i' - '§j' - '§k' - '§l' - '§m' - '§n' - '§o' - '§p' - '§q' - '§r' - '§s' - '§t' - '§u' - '§v' - '§w' - '§x' - '§y' - '§z' + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#formatted_name",
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_d6bb54d8) or (not $rainbowpie_ui_flag_84df7492))"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventoryui_search_text_box_display_text",
// 계산식/참조 값
"source_property_name": "#item_name",
// 결과가 들어갈 속성
"target_property_name": "#query_text",
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_d6bb54d8) or (not $rainbowpie_ui_flag_84df7492))"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#query_text = '') or (not ((#formatted_name - #query_text) = #formatted_name)))",
// 결과가 들어갈 속성
"target_property_name": "#is_query_target",
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_d6bb54d8) or (not $rainbowpie_ui_flag_84df7492))"
},
{
// 가져올 값 이름
"binding_name": "#inventory_selected_item"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_panel",
// 계산식/참조 값
"source_property_name": "#container_selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#container_selected_item_id_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_panel",
// 계산식/참조 값
"source_property_name": "#inventory_selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#inventory_selected_item_id_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_panel",
// 계산식/참조 값
"source_property_name": "#hotbar_selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#hotbar_selected_item_id_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#container_selected_item_id_aux + #inventory_selected_item_id_aux + #hotbar_selected_item_id_aux)",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(((#selected_item_id_aux = 0) or (#selected_item_id_aux = #item_id_aux)) and ((#inventory_selected_item = -1) or (#inventory_selected_item = #item_id_aux)))",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_item"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not (#item_id_aux = -1)) and #is_query_target and #is_selected_item)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "$button_take_all_place_all",
// 입력 시점(pressed 등)
"mapping_type": "$button_mapping_type",
"consume_event": false
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "$button_take_all_place_all",
// 입력 시점(pressed 등)
"mapping_type": "$button_mapping_type",
"consume_event": false
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_auto_place",
// 어떤 동작을 실행할지
"to_button_id": "$button_auto_place",
// 입력 시점(pressed 등)
"mapping_type": "$button_mapping_type",
"consume_event": false
},
{
// 어떤 입력을 받을지
"from_button_id": "button.controller_secondary_select",
// 어떤 동작을 실행할지
"to_button_id": "$button_auto_place",
// 입력 시점(pressed 등)
"mapping_type": "$button_mapping_type",
"consume_event": false
}
]
}
}
]
},
// ???/?? ??
"binding_slot_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_selected_slot",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#item_id_aux * #is_selected_slot)",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux"
}
]
},
// ???/?? ??
"container_bindings_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 목록 이름
"collection_name": "container_items",
// 가로/세로 크기
"size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$item_collection_name": "container_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_53@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 53
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_52@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 52
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_51@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 51
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_50@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 50
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_49@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 49
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_48@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 48
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_47@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 47
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_46@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 46
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_45@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 45
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_44@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 44
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_43@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 43
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_42@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 42
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_41@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 41
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_40@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 40
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_39@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 39
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_38@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 38
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_37@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 37
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_36@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 36
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_35@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 35
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_34@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 34
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_33@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 33
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_32@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 32
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_31@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 31
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_30@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 30
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_29@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 29
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_28@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 28
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_27@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 27
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_26@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 26
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_25@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 25
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_24@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 24
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_23@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 23
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_22@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 22
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_21@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 21
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_20@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 20
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_19@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 19
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_18@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 18
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_17@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 17
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_16@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 16
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_15@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 15
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_14@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 14
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_13@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 13
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_12@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 12
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_11@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 11
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_10@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 10
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_9@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 9
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_8@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 8
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_7@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 7
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_6@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_5@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_4@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_3@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_2@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_1@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_slot_0@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 0
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_53",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_53"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_52",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_52"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_51",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_51"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_50",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_50"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_49",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_49"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_48",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_48"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_47",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_47"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_46",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_46"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_45",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_45"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_44",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_44"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_43",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_43"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_42",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_42"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_41",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_41"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_40",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_40"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_39",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_39"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_38",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_38"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_37",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_37"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_36",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_36"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_35",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_35"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_34",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_34"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_33",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_33"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_32",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_32"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_31",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_31"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_30",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_30"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_29",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_29"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_28",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_28"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_27",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_27"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_26",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_26"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_25",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_25"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_24",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_24"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_23",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_23"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_22",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_22"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_21",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_21"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_20",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_20"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_19",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_19"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_18",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_18"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_17",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_17"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_16",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_16"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_15",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_15"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_14",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_14"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_13",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_13"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_12",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_12"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_11",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_11"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_10",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_10"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_9",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_9"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_8",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_8"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_7",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_7"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_6",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_6"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_5",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_5"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_4",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_4"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_3",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_3"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_2",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_2"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_1",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_1"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_0",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_0"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_selected_slot_0 or #is_selected_slot_1 or #is_selected_slot_2 or #is_selected_slot_3 or #is_selected_slot_4 or #is_selected_slot_5 or #is_selected_slot_6 or #is_selected_slot_7 or #is_selected_slot_8 or #is_selected_slot_9 or #is_selected_slot_10 or #is_selected_slot_11 or #is_selected_slot_12 or #is_selected_slot_13 or #is_selected_slot_14 or #is_selected_slot_15 or #is_selected_slot_16 or #is_selected_slot_17 or #is_selected_slot_18 or #is_selected_slot_19 or #is_selected_slot_20 or #is_selected_slot_21 or #is_selected_slot_22 or #is_selected_slot_23 or #is_selected_slot_24 or #is_selected_slot_25 or #is_selected_slot_26 or #is_selected_slot_27 or #is_selected_slot_28 or #is_selected_slot_29 or #is_selected_slot_30 or #is_selected_slot_31 or #is_selected_slot_32 or #is_selected_slot_33 or #is_selected_slot_34 or #is_selected_slot_35 or #is_selected_slot_36 or #is_selected_slot_37 or #is_selected_slot_38 or #is_selected_slot_39 or #is_selected_slot_40 or #is_selected_slot_41 or #is_selected_slot_42 or #is_selected_slot_43 or #is_selected_slot_44 or #is_selected_slot_45 or #is_selected_slot_46 or #is_selected_slot_47 or #is_selected_slot_48 or #is_selected_slot_49 or #is_selected_slot_50 or #is_selected_slot_51 or #is_selected_slot_52 or #is_selected_slot_53)",
// 결과가 들어갈 속성
"target_property_name": "#is_container_slot_selected"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_53",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_53"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_52",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_52"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_51",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_51"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_50",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_50"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_49",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_49"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_48",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_48"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_47",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_47"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_46",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_46"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_45",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_45"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_44",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_44"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_43",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_43"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_42",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_42"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_41",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_41"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_40",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_40"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_39",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_39"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_38",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_38"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_37",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_37"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_36",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_36"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_35",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_35"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_34",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_34"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_33",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_33"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_32",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_32"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_31",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_31"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_30",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_30"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_29",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_29"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_28",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_28"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_27",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_27"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_26",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_26"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_25",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_25"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_24",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_24"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_23",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_23"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_22",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_22"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_21",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_21"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_20",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_20"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_19",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_19"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_18",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_18"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_17",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_17"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_16",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_16"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_15",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_15"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_14",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_14"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_13",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_13"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_12",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_12"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_11",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_11"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_10",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_10"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_9",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_9"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_8",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_8"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_7",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_7"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_6",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_6"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_5",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_5"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_4",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_4"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_3",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_3"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_2",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_2"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_1",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_1"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_slot_0",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_0"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#selected_item_id_aux_0 + #selected_item_id_aux_1 + #selected_item_id_aux_2 + #selected_item_id_aux_3 + #selected_item_id_aux_4 + #selected_item_id_aux_5 + #selected_item_id_aux_6 + #selected_item_id_aux_7 + #selected_item_id_aux_8 + #selected_item_id_aux_9 + #selected_item_id_aux_10 + #selected_item_id_aux_11 + #selected_item_id_aux_12 + #selected_item_id_aux_13 + #selected_item_id_aux_14 + #selected_item_id_aux_15 + #selected_item_id_aux_16 + #selected_item_id_aux_17 + #selected_item_id_aux_18 + #selected_item_id_aux_19 + #selected_item_id_aux_20 + #selected_item_id_aux_21 + #selected_item_id_aux_22 + #selected_item_id_aux_23 + #selected_item_id_aux_24 + #selected_item_id_aux_25 + #selected_item_id_aux_26 + #selected_item_id_aux_27 + #selected_item_id_aux_28 + #selected_item_id_aux_29 + #selected_item_id_aux_30 + #selected_item_id_aux_31 + #selected_item_id_aux_32 + #selected_item_id_aux_33 + #selected_item_id_aux_34 + #selected_item_id_aux_35 + #selected_item_id_aux_36 + #selected_item_id_aux_37 + #selected_item_id_aux_38 + #selected_item_id_aux_39 + #selected_item_id_aux_40 + #selected_item_id_aux_41 + #selected_item_id_aux_42 + #selected_item_id_aux_43 + #selected_item_id_aux_44 + #selected_item_id_aux_45 + #selected_item_id_aux_46 + #selected_item_id_aux_47 + #selected_item_id_aux_48 + #selected_item_id_aux_49 + #selected_item_id_aux_50 + #selected_item_id_aux_51 + #selected_item_id_aux_52 + #selected_item_id_aux_53)",
// 결과가 들어갈 속성
"target_property_name": "#container_selected_item_id_aux"
}
]
},
// ???/?? ??
"inventory_bindings_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 목록 이름
"collection_name": "inventory_items",
// 가로/세로 크기
"size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$item_collection_name": "inventory_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_26@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 26
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_25@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 25
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_24@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 24
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_23@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 23
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_22@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 22
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_21@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 21
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_20@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 20
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_19@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 19
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_18@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 18
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_17@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 17
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_16@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 16
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_15@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 15
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_14@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 14
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_13@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 13
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_12@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 12
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_11@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 11
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_10@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 10
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_9@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 9
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_8@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 8
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_7@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 7
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_6@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_5@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_4@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_3@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_2@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_1@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_0@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 0
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_26",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_26"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_25",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_25"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_24",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_24"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_23",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_23"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_22",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_22"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_21",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_21"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_20",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_20"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_19",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_19"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_18",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_18"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_17",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_17"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_16",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_16"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_15",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_15"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_14",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_14"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_13",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_13"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_12",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_12"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_11",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_11"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_10",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_10"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_9",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_9"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_8",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_8"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_7",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_7"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_6",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_6"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_5",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_5"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_4",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_4"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_3",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_3"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_2",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_2"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_1",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_1"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_0",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_0"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_selected_slot_0 or #is_selected_slot_1 or #is_selected_slot_2 or #is_selected_slot_3 or #is_selected_slot_4 or #is_selected_slot_5 or #is_selected_slot_6 or #is_selected_slot_7 or #is_selected_slot_8 or #is_selected_slot_9 or #is_selected_slot_10 or #is_selected_slot_11 or #is_selected_slot_12 or #is_selected_slot_13 or #is_selected_slot_14 or #is_selected_slot_15 or #is_selected_slot_16 or #is_selected_slot_17 or #is_selected_slot_18 or #is_selected_slot_19 or #is_selected_slot_20 or #is_selected_slot_21 or #is_selected_slot_22 or #is_selected_slot_23 or #is_selected_slot_24 or #is_selected_slot_25 or #is_selected_slot_26)",
// 결과가 들어갈 속성
"target_property_name": "#is_inventory_slot_selected"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_26",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_26"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_25",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_25"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_24",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_24"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_23",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_23"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_22",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_22"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_21",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_21"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_20",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_20"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_19",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_19"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_18",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_18"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_17",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_17"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_16",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_16"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_15",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_15"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_14",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_14"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_13",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_13"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_12",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_12"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_11",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_11"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_10",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_10"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_9",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_9"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_8",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_8"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_7",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_7"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_6",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_6"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_5",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_5"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_4",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_4"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_3",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_3"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_2",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_2"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_1",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_1"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_0",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_0"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#selected_item_id_aux_0 + #selected_item_id_aux_1 + #selected_item_id_aux_2 + #selected_item_id_aux_3 + #selected_item_id_aux_4 + #selected_item_id_aux_5 + #selected_item_id_aux_6 + #selected_item_id_aux_7 + #selected_item_id_aux_8 + #selected_item_id_aux_9 + #selected_item_id_aux_10 + #selected_item_id_aux_11 + #selected_item_id_aux_12 + #selected_item_id_aux_13 + #selected_item_id_aux_14 + #selected_item_id_aux_15 + #selected_item_id_aux_16 + #selected_item_id_aux_17 + #selected_item_id_aux_18 + #selected_item_id_aux_19 + #selected_item_id_aux_20 + #selected_item_id_aux_21 + #selected_item_id_aux_22 + #selected_item_id_aux_23 + #selected_item_id_aux_24 + #selected_item_id_aux_25 + #selected_item_id_aux_26)",
// 결과가 들어갈 속성
"target_property_name": "#inventory_selected_item_id_aux"
}
]
},
// ???/?? ??
"hotbar_bindings_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 목록 이름
"collection_name": "hotbar_items",
// 가로/세로 크기
"size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$item_collection_name": "hotbar_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_bindings_slot_8@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 8
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_bindings_slot_7@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 7
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_bindings_slot_6@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_bindings_slot_5@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_bindings_slot_4@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_bindings_slot_3@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_bindings_slot_2@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_bindings_slot_1@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_bindings_slot_0@rainbowpie_module_chest_fastpick.binding_slot_item": {
"collection_index": 0
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_8",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_8"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_7",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_7"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_6",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_6"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_5",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_5"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_4",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_4"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_3",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_3"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_2",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_2"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_1",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_1"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_0",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_0"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_selected_slot_0 or #is_selected_slot_1 or #is_selected_slot_2 or #is_selected_slot_3 or #is_selected_slot_4 or #is_selected_slot_5 or #is_selected_slot_6 or #is_selected_slot_7 or #is_selected_slot_8)",
// 결과가 들어갈 속성
"target_property_name": "#is_hotbar_slot_selected"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_8",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_8"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_7",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_7"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_6",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_6"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_5",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_5"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_4",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_4"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_3",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_3"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_2",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_2"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_1",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_1"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_0",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_0"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#selected_item_id_aux_0 + #selected_item_id_aux_1 + #selected_item_id_aux_2 + #selected_item_id_aux_3 + #selected_item_id_aux_4 + #selected_item_id_aux_5 + #selected_item_id_aux_6 + #selected_item_id_aux_7 + #selected_item_id_aux_8)",
// 결과가 들어갈 속성
"target_property_name": "#hotbar_selected_item_id_aux"
}
]
},
// ???/?? ??
"pickup_input_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 목록 이름
"collection_name": "container_items",
// 오버라이드 가능한 변수
"$item_collection_name": "container_items",
// 오버라이드 가능한 변수
"$large_chest|default": false,
// 오버라이드 가능한 변수
"$redstone_container|default": false,
// 오버라이드 가능한 변수
"$redstone_container_hopper|default": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_53@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 53
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_52@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 52
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_51@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 51
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_50@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 50
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_49@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 49
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_48@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 48
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_47@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 47
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_46@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 46
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_45@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 45
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_44@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 44
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_43@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 43
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_42@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 42
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_41@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 41
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_40@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 40
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_39@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 39
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_38@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 38
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_37@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 37
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_36@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 36
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_35@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 35
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_34@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 34
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_33@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 33
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_32@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 32
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_31@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 31
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_30@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 30
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_29@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 29
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_28@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 28
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_27@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "(not $large_chest or $redstone_container)",
"collection_index": 27
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_26@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "($redstone_container)",
"collection_index": 26
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_25@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "($redstone_container)",
"collection_index": 25
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_24@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "($redstone_container)",
"collection_index": 24
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_23@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "($redstone_container)",
"collection_index": 23
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_22@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "($redstone_container)",
"collection_index": 22
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_21@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "($redstone_container)",
"collection_index": 21
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_20@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "($redstone_container)",
"collection_index": 20
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_19@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "($redstone_container)",
"collection_index": 19
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_18@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "($redstone_container)",
"collection_index": 18
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_17@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "($redstone_container)",
"collection_index": 17
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_16@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "($redstone_container)",
"collection_index": 16
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_15@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "($redstone_container)",
"collection_index": 15
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_14@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "($redstone_container)",
"collection_index": 14
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_13@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "($redstone_container)",
"collection_index": 13
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_12@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "($redstone_container)",
"collection_index": 12
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_11@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "($redstone_container)",
"collection_index": 11
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_10@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "($redstone_container)",
"collection_index": 10
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_9@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "($redstone_container)",
"collection_index": 9
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_8@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "($redstone_container_hopper)",
"collection_index": 8
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_7@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "($redstone_container_hopper)",
"collection_index": 7
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_6@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "($redstone_container_hopper)",
"collection_index": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_5@rainbowpie_module_chest_fastpick.slot_item": {
// 완전히 제거(공간도 없음)
"ignored": "($redstone_container_hopper)",
"collection_index": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_4@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_3@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_2@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_1@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_slot_0@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 0
}
}
]
},
// ???/?? ??
"putin_input_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 목록 이름
"collection_name": "inventory_items",
// 오버라이드 가능한 변수
"$item_collection_name": "inventory_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_26@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 26
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_25@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 25
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_24@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 24
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_23@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 23
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_22@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 22
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_21@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 21
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_20@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 20
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_19@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 19
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_18@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 18
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_17@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 17
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_16@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 16
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_15@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 15
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_14@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 14
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_13@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 13
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_12@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 12
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_11@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 11
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_10@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 10
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_9@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 9
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_8@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 8
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_7@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 7
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_6@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_5@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_4@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_3@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_2@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_1@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_0@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 0
}
}
]
},
// ???/?? ??
"putin_hotbar_input_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 목록 이름
"collection_name": "hotbar_items",
// 오버라이드 가능한 변수
"$item_collection_name": "hotbar_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_8@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 8
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_7@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 7
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_6@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_5@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_4@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_3@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_2@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_1@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_0@rainbowpie_module_chest_fastpick.slot_item": {
"collection_index": 0
}
}
]
},
// ???/?? ??
"chest_fastpick_redstone": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$redstone_container|default": false,
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_module_chest_fastpick)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"chest_fastpick@rainbowpie_module_chest_fastpick.chest_fastpick": {
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_module_chest_fastpick) or (not ($redstone_container and $rainbowpie_ui_moduleflag_chest_fastpick_redstone_blocks)))"
}
}
]
},
// ???/?? ??
"chest_fastpick": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_module_chest_fastpick)",
// 오버라이드 가능한 변수
"$drop_button_size|default": [ 22, 22 ],
// 오버라이드 가능한 변수
"$drop_button_offset|default": [ 20, -80 ],
// 오버라이드 가능한 변수
"$putin_button_size|default": [ 22, 22 ],
// 오버라이드 가능한 변수
"$putin_button_offset|default": [ 20, -26 ],
// 오버라이드 가능한 변수
"$pickup_button_size|default": [ 22, 22 ],
// 오버라이드 가능한 변수
"$pickup_button_offset|default": [ 20, -2 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"container_bindings_panel@rainbowpie_module_chest_fastpick.container_bindings_panel": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_panel@rainbowpie_module_chest_fastpick.inventory_bindings_panel": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_bindings_panel@rainbowpie_module_chest_fastpick.hotbar_bindings_panel": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"drop_input_panel@rainbowpie_module_chest_fastpick.pickup_input_panel": {
// 오버라이드 가능한 변수
"$button_take_all_place_all": "button.drop_all",
// 가로/세로 크기
"size": "$drop_button_size",
// 기준점에서 이동하는 거리
"offset": "$drop_button_offset",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 50,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#inventory_selected_item"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_panel",
// 계산식/참조 값
"source_property_name": "#is_container_slot_selected",
// 결과가 들어갈 속성
"target_property_name": "#is_container_slot_selected"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_panel",
// 계산식/참조 값
"source_property_name": "#is_inventory_slot_selected",
// 결과가 들어갈 속성
"target_property_name": "#is_inventory_slot_selected"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_panel",
// 계산식/참조 값
"source_property_name": "#is_hotbar_slot_selected",
// 결과가 들어갈 속성
"target_property_name": "#is_hotbar_slot_selected"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not (#is_container_slot_selected or #is_inventory_slot_selected or #is_hotbar_slot_selected)) and (#inventory_selected_item = -1))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"putin_input_panel@rainbowpie_module_chest_fastpick.putin_input_panel": {
// 가로/세로 크기
"size": "$putin_button_size",
// 기준점에서 이동하는 거리
"offset": "$putin_button_offset",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 50
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"putin_hotbar_input_panel@rainbowpie_module_chest_fastpick.putin_hotbar_input_panel": {
// 오버라이드 가능한 변수
"$button_take_all_place_all": "rainbowpie.placeholder",
// 오버라이드 가능한 변수
"$button_auto_place": "button.container_auto_place",
// 오버라이드 가능한 변수
"$button_mapping_type": "pressed",
// 가로/세로 크기
"size": "$putin_button_size",
// 기준점에서 이동하는 거리
"offset": "$putin_button_offset",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 50,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #using_touch)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"putin_hotbar_input_panel_touch@rainbowpie_module_chest_fastpick.putin_hotbar_input_panel": {
// 오버라이드 가능한 변수
"$button_take_all_place_all": "button.container_auto_place",
// 오버라이드 가능한 변수
"$button_auto_place": "rainbowpie.placeholder",
// 오버라이드 가능한 변수
"$button_mapping_type": "double_pressed",
// 가로/세로 크기
"size": "$putin_button_size",
// 기준점에서 이동하는 거리
"offset": "$putin_button_offset",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 50,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#using_touch",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pickup_input_panel@rainbowpie_module_chest_fastpick.pickup_input_panel": {
// 가로/세로 크기
"size": "$pickup_button_size",
// 기준점에서 이동하는 거리
"offset": "$pickup_button_offset",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 50
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"drop_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_focus_precedence": -1,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "rainbowpie.ui.chest.fastpick.dropall",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_border_layer": 30,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "rainbowpie.chestdropall",
// 오버라이드 가능한 변수
"$button_content": "rainbowpie_module_chest_fastpick.drop_icon",
"consume_hover_events": false,
// 가로/세로 크기
"size": "$drop_button_size",
// 기준점에서 이동하는 거리
"offset": "$drop_button_offset",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#inventory_selected_item"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "container_bindings_panel",
// 계산식/참조 값
"source_property_name": "#is_container_slot_selected",
// 결과가 들어갈 속성
"target_property_name": "#is_container_slot_selected"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_panel",
// 계산식/참조 값
"source_property_name": "#is_inventory_slot_selected",
// 결과가 들어갈 속성
"target_property_name": "#is_inventory_slot_selected"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_panel",
// 계산식/참조 값
"source_property_name": "#is_hotbar_slot_selected",
// 결과가 들어갈 속성
"target_property_name": "#is_hotbar_slot_selected"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not (#is_container_slot_selected or #is_inventory_slot_selected or #is_hotbar_slot_selected)) and (#inventory_selected_item = -1))",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"putin_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_focus_precedence": -1,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "rainbowpie.ui.chest.fastpick.putall",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_border_layer": 30,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "rainbowpie.chestputin",
// 오버라이드 가능한 변수
"$button_content": "rainbowpie_module_chest_fastpick.putin_icon",
"consume_hover_events": false,
// 가로/세로 크기
"size": "$putin_button_size",
// 기준점에서 이동하는 거리
"offset": "$putin_button_offset",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pickup_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_focus_precedence": -1,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "rainbowpie.ui.chest.fastpick.pickall",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_border_layer": 30,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "rainbowpie.chestpickup",
// 오버라이드 가능한 변수
"$button_content": "rainbowpie_module_chest_fastpick.pickup_icon",
"consume_hover_events": false,
// 가로/세로 크기
"size": "$pickup_button_size",
// 기준점에서 이동하는 거리
"offset": "$pickup_button_offset",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: hud_block_counter.json
// 분류: RainbowPie UI / module
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpie_module_hud_block_counter",
// 다른 템플릿을 가져와서 확장(상속)
"hud_block_counter@rainbowpieui_compatibility_config.compatibility_variables": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_module_hud_block_counter)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_slot_item_id_aux@rainbowpie_modulelib_hud_item.selected_slot_item_id_aux": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_slot_item_count@rainbowpie_modulelib_hud_item.selected_slot_item_count": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"block_count@rainbowpie_modulelib_hud_item.hotbar_item_count": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventory_target_item_ids": "$rainbowpie_ui_moduleflag_hud_block_counter_blockids"
}
},
{
// ???/?? ??
"counter_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 18 ],
// 보이기/숨기기(공간 유지)
"visible": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"tip_text_background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%c + 4px", "100%c + 4px" ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", 12 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"item_renderer@rainbowpie_ui_common.item_renderer": {
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_item_id_aux",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux_int",
// 결과가 들어갈 속성
"target_property_name": "#item_id_aux"
}
]
}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 2 ]
}
},
{
// ???/?? ??
"selected_count_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"count_text@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "#selected_item_stack_count_str",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_item_count",
// 계산식/참조 값
"source_property_name": "('x' + #selected_item_stack_count_int)",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_stack_count_str"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_item_count",
// 계산식/참조 값
"source_property_name": "(not ((#selected_item_stack_count_int = 16) or (#selected_item_stack_count_int < 16)))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"count_text_red@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "#selected_item_stack_count_str",
// ?? (R,G,B,A)
"color": [ 1.0, 0.333, 0.333 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_item_count",
// 계산식/참조 값
"source_property_name": "('x' + #selected_item_stack_count_int)",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_stack_count_str"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_item_count",
// 계산식/참조 값
"source_property_name": "((#selected_item_stack_count_int = 16) or (#selected_item_stack_count_int < 16))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
},
{
// ???/?? ??
"count_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "block_count",
// 계산식/참조 값
"source_property_name": "#hotbar_target_item_total_count_int",
// 결과가 들어갈 속성
"target_property_name": "#hotbar_target_item_total_count_int"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_item_count",
// 계산식/참조 값
"source_property_name": "#selected_item_stack_count_int",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_stack_count_int"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hotbar_target_item_total_count_int = #selected_item_stack_count_int))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"count_text@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "#hotbar_target_item_total_count_int",
// ?? (R,G,B,A)
"color": [ 0.7, 0.7, 0.7 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "block_count",
// 계산식/참조 값
"source_property_name": "('|x' + #hotbar_target_item_total_count_int)",
// 결과가 들어갈 속성
"target_property_name": "#hotbar_target_item_total_count_int"
}
]
}
}
]
}
}
]
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_item_id_aux",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux_int",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_int"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('aux' + #selected_item_id_aux_int + ',')",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_str"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#selected_item_id_aux_int / 65536)",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_int"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('id' + #selected_item_id_int + ',')",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_str"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (($rainbowpie_ui_moduleflag_hud_block_counter_blockids - #selected_item_id_aux_str) = $rainbowpie_ui_moduleflag_hud_block_counter_blockids))",
// 결과가 들어갈 속성
"target_property_name": "#is_match_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (($rainbowpie_ui_moduleflag_hud_block_counter_blockids - #selected_item_id_str) = $rainbowpie_ui_moduleflag_hud_block_counter_blockids))",
// 결과가 들어갈 속성
"target_property_name": "#is_match_id"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_match_aux or #is_match_id)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: hud_bow_helper.json
// 분류: RainbowPie UI / module
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpie_module_hud_bow_helper",
// ???/?? ??
"arrow_slot": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"item_count_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"item_renderer@rainbowpie_ui_common.item_renderer": {
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 이름
"binding_collection_name": "hotbar_items"
}
]
}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 2 ]
}
},
{
// ???/?? ??
"count_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"count_text@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "#inventory_stack_count_str",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#inventory_stack_count",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "hotbar_items"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#inventory_stack_count = 0)",
// 결과가 들어갈 속성
"target_property_name": "#is_single_item"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('x' + ((#is_single_item * 1) + #inventory_stack_count))",
// 결과가 들어갈 속성
"target_property_name": "#inventory_stack_count_str"
}
]
}
}
]
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "hotbar_items"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('aux' + #item_id_aux + ',')",
// 결과가 들어갈 속성
"target_property_name": "#item_id_aux_str"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#item_id_aux / 65536)",
// 결과가 들어갈 속성
"target_property_name": "#item_id"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('id' + #item_id + ',')",
// 결과가 들어갈 속성
"target_property_name": "#item_id_str"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (($rainbowpie_ui_moduleflag_hud_bow_helper_arrowids - #item_id_aux_str) = $rainbowpie_ui_moduleflag_hud_bow_helper_arrowids))",
// 결과가 들어갈 속성
"target_property_name": "#is_match_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (($rainbowpie_ui_moduleflag_hud_bow_helper_arrowids - #item_id_str) = $rainbowpie_ui_moduleflag_hud_bow_helper_arrowids))",
// 결과가 들어갈 속성
"target_property_name": "#is_match_id"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_match_aux or #is_match_id)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"arrow_slot_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 목록 이름
"collection_name": "hotbar_items",
// 가로/세로 크기
"size": [ "100%cm", "100%" ],
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_0@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_1@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_2@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_3@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_4@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_5@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_6@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_7@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 7
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_8@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 8
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_9@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 9
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_10@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 10
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_11@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 11
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_12@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 12
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_13@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 13
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_14@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 14
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_15@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 15
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_16@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 16
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_17@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 17
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_18@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 18
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_19@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 19
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_20@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 20
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_21@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 21
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_22@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 22
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_23@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 23
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_24@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 24
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_25@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 25
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_26@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 26
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_27@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 27
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_28@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 28
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_29@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 29
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_30@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 30
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_31@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 31
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_32@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 32
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_33@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 33
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_34@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 34
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_slot_35@rainbowpie_module_hud_bow_helper.arrow_slot": {
"collection_index": 35
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"hud_bow_helper@rainbowpieui_compatibility_config.compatibility_variables": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_module_hud_bow_helper)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_slot_item_id_aux@rainbowpie_modulelib_hud_item.selected_slot_item_id_aux": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_count@rainbowpie_modulelib_hud_item.inventory_item_count": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventory_target_item_ids": "$rainbowpie_ui_moduleflag_hud_bow_helper_arrowids"
}
},
{
// ???/?? ??
"counter_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "$anchor",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$anchor",
// 가로/세로 크기
"size": "$size",
// 기준점에서 이동하는 거리
"offset": "$offset",
// 보이기/숨기기(공간 유지)
"visible": false,
// 오버라이드 가능한 변수
"$anchor": "bottom_left",
// 오버라이드 가능한 변수
"$size": [ "100%c", "100%c" ],
// 오버라이드 가능한 변수
"$offset": [ "50% + 120px", -6 ],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_feature_hud_durability", // HUD Durability
// 오버라이드 가능한 변수
"$anchor": "bottom_right",
// 오버라이드 가능한 변수
"$offset": [ -7, -26 ]
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"tip_text_background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%c + 4px", "100%c + 4px" ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", 12 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"no_arrows_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"count_text@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "No arrows",
// ?? (R,G,B,A)
"color": [ 1.0, 0.333, 0.333 ]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "arrow_count",
// 계산식/참조 값
"source_property_name": "(#inventory_target_item_total_count_int = 0)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"count_title_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", 12 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_panel@rainbowpie_module_hud_bow_helper.arrow_slot_panel": {}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "arrow_count",
// 계산식/참조 값
"source_property_name": "(not (#inventory_target_item_total_count_int = 0))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"count_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"count_text@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "#arrow_item_total_count_str",
// ?? (R,G,B,A)
"color": [ 0.7, 0.7, 0.7 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "arrow_count",
// 계산식/참조 값
"source_property_name": "('|x' + #inventory_target_item_total_count_int)",
// 결과가 들어갈 속성
"target_property_name": "#arrow_item_total_count_str"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "arrow_count",
// 계산식/참조 값
"source_property_name": "(not (#inventory_target_item_total_count_int = 0))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_item_id_aux",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux_int",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_int"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('aux' + #selected_item_id_aux_int + ',')",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_str"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#selected_item_id_aux_int / 65536)",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_int"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('id' + #selected_item_id_int + ',')",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_str"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "arrow_count",
// 계산식/참조 값
"source_property_name": "(#inventory_target_item_total_count_int = 0)",
// 결과가 들어갈 속성
"target_property_name": "#is_arrow_empty"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (($rainbowpie_ui_moduleflag_hud_bow_helper_bowids - #selected_item_id_aux_str) = $rainbowpie_ui_moduleflag_hud_bow_helper_bowids))",
// 결과가 들어갈 속성
"target_property_name": "#is_match_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (($rainbowpie_ui_moduleflag_hud_bow_helper_bowids - #selected_item_id_str) = $rainbowpie_ui_moduleflag_hud_bow_helper_bowids))",
// 결과가 들어갈 속성
"target_property_name": "#is_match_id"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_match_aux or #is_match_id)",
// 결과가 들어갈 속성
"target_property_name": "#is_holding_bow"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_holding_bow and (not #is_arrow_empty))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: hud_compass.json
// 분류: RainbowPie UI / module
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpie_module_hud_compass",
// 다른 템플릿을 가져와서 확장(상속)
"hud_compass@rainbowpieui_compatibility_config.compatibility_variables": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_module_hud_compass)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hud_compass_item_total_count@rainbowpie_modulelib_hud_item.inventory_item_count": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventory_target_item_ids": "('id' + $rainbowpie_ui_flag_item_clock_id + ',id' + $rainbowpie_ui_flag_item_compass_id + ',id' + $rainbowpie_ui_flag_item_recovery_compass_id +',')"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"clock_total_count@rainbowpie_modulelib_hud_item.inventory_item_count": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventory_target_item_ids": "('id' + $rainbowpie_ui_flag_item_clock_id + ',')"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"compass_total_count@rainbowpie_modulelib_hud_item.inventory_item_count": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventory_target_item_ids": "('id' + $rainbowpie_ui_flag_item_compass_id + ',')"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"recovery_compass_total_count@rainbowpie_modulelib_hud_item.inventory_item_count": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventory_target_item_ids": "('id' + $rainbowpie_ui_flag_item_recovery_compass_id +',')"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"compass_panel@rainbowpie_ui_common.text_background": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white')",
// 가로/세로 크기
"size": [ "100%c + 5px", "100%c + 5px" ],
// 기준점에서 이동하는 거리
"offset": [ -7, 7 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hud_compass_item_total_count",
// 계산식/참조 값
"source_property_name": "(not (#inventory_target_item_total_count_int = 0))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"compass_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"clock@crafting.item_renderer": {
// 가로/세로 크기
"size": [ 16, 16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#item_id_aux": "($rainbowpie_ui_flag_item_clock_id * 65536)"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "clock_total_count",
// 계산식/참조 값
"source_property_name": "(not (#inventory_target_item_total_count_int = 0))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"compass@crafting.item_renderer": {
// 가로/세로 크기
"size": [ 16, 16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#item_id_aux": "($rainbowpie_ui_flag_item_compass_id * 65536)"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "compass_total_count",
// 계산식/참조 값
"source_property_name": "(not (#inventory_target_item_total_count_int = 0))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"recovery_compass@crafting.item_renderer": {
// 가로/세로 크기
"size": [ 16, 16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#item_id_aux": "($rainbowpie_ui_flag_item_recovery_compass_id * 65536)"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "recovery_compass_total_count",
// 계산식/참조 값
"source_property_name": "(not (#inventory_target_item_total_count_int = 0))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: hud_selected_item_id.json
// 분류: RainbowPie UI / module
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpie_module_hud_selected_item_id",
// ???/?? ??
"hud_selected_item_id": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_module_hud_selected_item_id)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_slot_item_id_aux@rainbowpie_modulelib_hud_item.selected_slot_item_id_aux": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_id_text@rainbowpie_ui_common.text_label": {
// 기준점에서 이동하는 거리
"offset": [ 0, 50 ],
// 보여줄 글자
"text": "#selected_item_id_aux_str",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_item_id_aux",
// 계산식/참조 값
"source_property_name": "('\"' + #selected_item_id_aux_int + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_str"
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: inventory_actions.json
// 분류: RainbowPie UI / module
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpie_module_inventory_actions",
// 다른 템플릿을 가져와서 확장(상속)
"action_button_toggle_base@common_toggles.light_ui_toggle": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_content": "rainbowpie_module_inventory_actions.drop_icon",
// 오버라이드 가능한 변수
"$button_type_panel": "common_buttons.new_ui_binding_button_label",
// 오버라이드 가능한 변수
"$button_text_binding_type": "none",
// 오버라이드 가능한 변수
"$button_binding_condition": "none",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "none",
// 오버라이드 가능한 변수
"$button_text": "",
// 오버라이드 가능한 변수
"$button_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$radio_toggle_group": false,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpie_inventoryui_actions",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 0,
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 0,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": ""
},
// ???/?? ??
"delete_icon": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$chest_visible|default": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"delete_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/destroy_selection')",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"chest@crafting.item_renderer": {
// 완전히 제거(공간도 없음)
"ignored": "(not $chest_visible)",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 가로/세로 크기
"size": [ "62.5%", "100%x" ],
// 기준점에서 이동하는 거리
"offset": [ "20%x", 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#item_id_aux": 3538946
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#using_touch",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
},
// ???/?? ??
"craft_icon": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_table@crafting.item_renderer": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#item_id_aux": 3801088
}
}
},
{
// ???/?? ??
"down_arrow": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 가로/세로 크기
"size": [ "62.5%", "100%x" ],
// 기준점에서 이동하는 거리
"offset": [ "20%x", 0 ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/arrow_down')",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
}
]
},
// ???/?? ??
"drop_icon": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$count_text|default": "x1",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"chest@crafting.item_renderer": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#item_id_aux": 3538946
}
}
},
{
// ???/?? ??
"down_arrow": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 가로/세로 크기
"size": [ "62.5%", "100%x" ],
// 기준점에서 이동하는 거리
"offset": [ "20%x", 0 ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/arrow_down')",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"count_label@rainbowpie_ui_common.text_label_notheme": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 보여줄 글자
"text": "$count_text",
// ?? ?? ??
"font_scale_factor": 0.85,
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#using_touch",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
},
// ???/?? ??
"binding_slot_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_selected_slot",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
}
]
},
// ???/?? ??
"inventory_bindings_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 목록 이름
"collection_name": "inventory_items",
// 가로/세로 크기
"size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$item_collection_name": "inventory_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_26@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 26
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_25@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 25
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_24@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 24
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_23@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 23
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_22@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 22
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_21@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 21
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_20@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 20
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_19@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 19
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_18@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 18
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_17@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 17
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_16@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 16
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_15@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 15
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_14@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 14
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_13@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 13
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_12@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 12
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_11@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 11
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_10@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 10
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_9@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 9
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_8@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 8
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_7@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 7
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_6@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_5@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_4@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_3@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_2@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_1@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_slot_0@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 0
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_26",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_26"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_25",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_25"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_24",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_24"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_23",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_23"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_22",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_22"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_21",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_21"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_20",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_20"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_19",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_19"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_18",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_18"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_17",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_17"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_16",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_16"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_15",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_15"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_14",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_14"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_13",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_13"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_12",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_12"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_11",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_11"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_10",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_10"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_9",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_9"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_8",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_8"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_7",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_7"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_6",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_6"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_5",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_5"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_4",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_4"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_3",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_3"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_2",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_2"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_1",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_1"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_slot_0",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_0"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_selected_slot_0 or #is_selected_slot_1 or #is_selected_slot_2 or #is_selected_slot_3 or #is_selected_slot_4 or #is_selected_slot_5 or #is_selected_slot_6 or #is_selected_slot_7 or #is_selected_slot_8 or #is_selected_slot_9 or #is_selected_slot_10 or #is_selected_slot_11 or #is_selected_slot_12 or #is_selected_slot_13 or #is_selected_slot_14 or #is_selected_slot_15 or #is_selected_slot_16 or #is_selected_slot_17 or #is_selected_slot_18 or #is_selected_slot_19 or #is_selected_slot_20 or #is_selected_slot_21 or #is_selected_slot_22 or #is_selected_slot_23 or #is_selected_slot_24 or #is_selected_slot_25 or #is_selected_slot_26)",
// 결과가 들어갈 속성
"target_property_name": "#is_inventory_slot_selected"
}
]
},
// ???/?? ??
"hotbar_bindings_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 목록 이름
"collection_name": "hotbar_items",
// 가로/세로 크기
"size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$item_collection_name": "hotbar_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_bindings_slot_8@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 8
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_bindings_slot_7@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 7
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_bindings_slot_6@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_bindings_slot_5@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_bindings_slot_4@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_bindings_slot_3@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_bindings_slot_2@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_bindings_slot_1@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_bindings_slot_0@rainbowpie_module_inventory_actions.binding_slot_item": {
"collection_index": 0
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_8",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_8"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_7",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_7"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_6",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_6"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_5",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_5"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_4",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_4"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_3",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_3"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_2",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_2"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_1",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_1"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_slot_0",
// 계산식/참조 값
"source_property_name": "#is_selected_slot",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_slot_0"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_selected_slot_0 or #is_selected_slot_1 or #is_selected_slot_2 or #is_selected_slot_3 or #is_selected_slot_4 or #is_selected_slot_5 or #is_selected_slot_6 or #is_selected_slot_7 or #is_selected_slot_8)",
// 결과가 들어갈 속성
"target_property_name": "#is_hotbar_slot_selected"
}
]
},
// ???/?? ??
"slot_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"input_panel": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "100%", "100%x" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
"consume_hover_events": false,
// 보이기/숨기기(공간 유지)
"visible": false,
// 오버라이드 가능한 변수
"$button_take_all_place_all|default": "rainbowpie.placeholder",
// 오버라이드 가능한 변수
"$button_auto_place|default": "rainbowpie.placeholder",
// 오버라이드 가능한 변수
"$button_mapping_type|default": "pressed",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#is_query_target": true
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#hover_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #hover_text - '\n' - '§0' - '§1' - '§2' - '§3' - '§4' - '§5' - '§6' - '§7' - '§8' - '§9' - '§a' - '§b' - '§c' - '§d' - '§e' - '§f' - '§g' - '§h' - '§i' - '§j' - '§k' - '§l' - '§m' - '§n' - '§o' - '§p' - '§q' - '§r' - '§s' - '§t' - '§u' - '§v' - '§w' - '§x' - '§y' - '§z' + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#formatted_name",
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_d6bb54d8) or (not $rainbowpie_ui_flag_84df7492))"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventoryui_search_text_box_display_text",
// 계산식/참조 값
"source_property_name": "#item_name",
// 결과가 들어갈 속성
"target_property_name": "#query_text",
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_d6bb54d8) or (not $rainbowpie_ui_flag_84df7492))"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#query_text = '') or (not ((#formatted_name - #query_text) = #formatted_name)))",
// 결과가 들어갈 속성
"target_property_name": "#is_query_target",
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_d6bb54d8) or (not $rainbowpie_ui_flag_84df7492))"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not (#item_id_aux = -1)) and #is_query_target)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "$button_take_all_place_all",
// 입력 시점(pressed 등)
"mapping_type": "$button_mapping_type",
"consume_event": false
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "$button_take_all_place_all",
// 입력 시점(pressed 등)
"mapping_type": "$button_mapping_type",
"consume_event": false
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_auto_place",
// 어떤 동작을 실행할지
"to_button_id": "$button_auto_place",
// 입력 시점(pressed 등)
"mapping_type": "$button_mapping_type",
"consume_event": false
},
{
// 어떤 입력을 받을지
"from_button_id": "button.controller_secondary_select",
// 어떤 동작을 실행할지
"to_button_id": "$button_auto_place",
// 입력 시점(pressed 등)
"mapping_type": "$button_mapping_type",
"consume_event": false
}
]
}
}
]
},
// ???/?? ??
"inventory_input_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 목록 이름
"collection_name": "inventory_items",
// 오버라이드 가능한 변수
"$item_collection_name": "inventory_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_26@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 26
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_25@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 25
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_24@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 24
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_23@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 23
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_22@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 22
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_21@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 21
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_20@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 20
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_19@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 19
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_18@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 18
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_17@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 17
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_16@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 16
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_15@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 15
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_14@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 14
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_13@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 13
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_12@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 12
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_11@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 11
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_10@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 10
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_9@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 9
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_8@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 8
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_7@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 7
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_6@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_5@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_4@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_3@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_2@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_1@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_0@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 0
}
}
]
},
// ???/?? ??
"hotbar_input_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 목록 이름
"collection_name": "hotbar_items",
// 오버라이드 가능한 변수
"$item_collection_name": "hotbar_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_8@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 8
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_7@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 7
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_6@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_5@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_4@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_3@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_2@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_1@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_0@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 0
}
}
]
},
// ???/?? ??
"armor_input_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 목록 이름
"collection_name": "armor_items",
// 오버라이드 가능한 변수
"$item_collection_name": "armor_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_3@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_2@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_1@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_0@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 0
}
}
]
},
// ???/?? ??
"offhand_input_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 목록 이름
"collection_name": "offhand_items",
// 오버라이드 가능한 변수
"$item_collection_name": "offhand_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_slot_0@rainbowpie_module_inventory_actions.slot_item": {
"collection_index": 0
}
}
]
},
// ???/?? ??
"item_hover_text": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%cm", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hover_text_label@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", "default" ],
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_hovertext_text_color",
// 보여줄 글자
"text": "#text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hover_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
}
]
}
}
]
},
// ???/?? ??
"armor_slot": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
}
]
},
// ???/?? ??
"item_id_aux_checker": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_id_list|default": "",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('aux' + #item_id_aux + ',')",
// 결과가 들어갈 속성
"target_property_name": "#item_id_aux_str"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#item_id_aux / 65536)",
// 결과가 들어갈 속성
"target_property_name": "#item_id_int"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('id' + #item_id_int + ',')",
// 결과가 들어갈 속성
"target_property_name": "#item_id_str"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (($rainbowpie_localui_id_list - #item_id_aux_str) = $rainbowpie_localui_id_list))",
// 결과가 들어갈 속성
"target_property_name": "#is_match_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (($rainbowpie_localui_id_list - #item_id_str) = $rainbowpie_localui_id_list))",
// 결과가 들어갈 속성
"target_property_name": "#is_match_id"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_match_aux or #is_match_id)",
// 결과가 들어갈 속성
"target_property_name": "#is_match_id_and_aux"
}
]
},
// ???/?? ??
"inventory_actions": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_module_inventory_actions)"
},
// ???/?? ??
"armor_switch_hover_text": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white')",
// 가로/세로 크기
"size": [ "100%c + 8px", "100%c + 5px" ],
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 200,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_hovertext_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_hovertext_background_alpha",
// 오버라이드 가능한 변수
"$armor_slot|default": -1,
// 보이기/숨기기(공간 유지)
"visible": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"armor_item_text": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 목록 이름
"collection_name": "armor_items",
// 오버라이드 가능한 변수
"$item_collection_name": "armor_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"item_hover_text@rainbowpie_module_inventory_actions.item_hover_text": {
"collection_index": "$armor_slot"
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"inventory_actions_hover_text@rainbowpie_module_inventory_actions.inventory_actions": {
// 가로/세로 크기
"size": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
"allow_clipping": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_compare@rainbowpieui_compatibility_config.compatibility_variables": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_moduleflag_inventory_actions_armor_switch_enabled)",
// 겹치는 순서(숫자 클수록 위)
"layer": 22,
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "armor_slots",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "#armor_slots_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#armor_slots_item_id_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "helmet_id_checker",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "#is_match_id_and_aux",
// 결과가 들어갈 속성
"target_property_name": "#is_helmet"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "chestplate_id_checker",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "#is_match_id_and_aux",
// 결과가 들어갈 속성
"target_property_name": "#is_chestplate"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "leggings_id_checker",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "#is_match_id_and_aux",
// 결과가 들어갈 속성
"target_property_name": "#is_leggings"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "boots_id_checker",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "#is_match_id_and_aux",
// 결과가 들어갈 속성
"target_property_name": "#is_boots"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not (#armor_slots_item_id_aux = -4)) and (#is_helmet or #is_chestplate or #is_leggings or #is_boots))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"armor_compare_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 완전히 제거(공간도 없음)
"ignored": "((not ($item_collection_name = 'inventory_items')) or ($item_collection_name = 'hotbar_items'))",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"armor_slots": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 목록 이름
"collection_name": "armor_items",
// 오버라이드 가능한 변수
"$item_collection_name": "armor_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_slot_0@rainbowpie_module_inventory_actions.armor_slot": {
"collection_index": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_slot_1@rainbowpie_module_inventory_actions.armor_slot": {
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_slot_2@rainbowpie_module_inventory_actions.armor_slot": {
"collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_slot_3@rainbowpie_module_inventory_actions.armor_slot": {
"collection_index": 3
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "armor_slot_0",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "#item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#slot_0_item_id_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "armor_slot_1",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "#item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#slot_1_item_id_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "armor_slot_2",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "#item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#slot_2_item_id_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "armor_slot_3",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "#item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#slot_3_item_id_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#slot_0_item_id_aux + #slot_1_item_id_aux + #slot_2_item_id_aux + #slot_3_item_id_aux)",
// 결과가 들어갈 속성
"target_property_name": "#armor_slots_item_id_aux"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"helmet_id_checker@rainbowpie_module_inventory_actions.item_id_aux_checker": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_id_list": "$rainbowpie_ui_moduleflag_inventory_actions_armor_ids_helmet"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"chestplate_id_checker@rainbowpie_module_inventory_actions.item_id_aux_checker": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_id_list": "$rainbowpie_ui_moduleflag_inventory_actions_armor_ids_chestplate"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"leggings_id_checker@rainbowpie_module_inventory_actions.item_id_aux_checker": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_id_list": "$rainbowpie_ui_moduleflag_inventory_actions_armor_ids_leggings"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"boots_id_checker@rainbowpie_module_inventory_actions.item_id_aux_checker": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_id_list": "$rainbowpie_ui_moduleflag_inventory_actions_armor_ids_boots"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"helmet_item_text@rainbowpie_module_inventory_actions.armor_switch_hover_text": {
// 오버라이드 가능한 변수
"$armor_slot": 0,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "armor_slots",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "(not (#slot_0_item_id_aux = -1))",
// 결과가 들어갈 속성
"target_property_name": "#slot_isnt_empty"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "helmet_id_checker",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "#is_match_id_and_aux",
// 결과가 들어갈 속성
"target_property_name": "#is_target_item"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#slot_isnt_empty and #is_target_item)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"chestplate_item_text@rainbowpie_module_inventory_actions.armor_switch_hover_text": {
// 오버라이드 가능한 변수
"$armor_slot": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "armor_slots",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "(not (#slot_1_item_id_aux = -1))",
// 결과가 들어갈 속성
"target_property_name": "#slot_isnt_empty"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "chestplate_id_checker",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "#is_match_id_and_aux",
// 결과가 들어갈 속성
"target_property_name": "#is_target_item"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#slot_isnt_empty and #is_target_item)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"leggings_item_text@rainbowpie_module_inventory_actions.armor_switch_hover_text": {
// 오버라이드 가능한 변수
"$armor_slot": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "armor_slots",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "(not (#slot_2_item_id_aux = -1))",
// 결과가 들어갈 속성
"target_property_name": "#slot_isnt_empty"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "leggings_id_checker",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "#is_match_id_and_aux",
// 결과가 들어갈 속성
"target_property_name": "#is_target_item"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#slot_isnt_empty and #is_target_item)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"boots_item_text@rainbowpie_module_inventory_actions.armor_switch_hover_text": {
// 오버라이드 가능한 변수
"$armor_slot": 3,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "armor_slots",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "(not (#slot_3_item_id_aux = -1))",
// 결과가 들어갈 속성
"target_property_name": "#slot_isnt_empty"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "boots_id_checker",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "#is_match_id_and_aux",
// 결과가 들어갈 속성
"target_property_name": "#is_target_item"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#slot_isnt_empty and #is_target_item)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"inventory_actions_cell_panel@rainbowpie_module_inventory_actions.inventory_actions": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_switch@rainbowpieui_compatibility_config.compatibility_variables": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_moduleflag_inventory_actions_armor_switch_enabled)",
// 겹치는 순서(숫자 클수록 위)
"layer": 22,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"armor_switch_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "((not (($item_collection_name = 'inventory_items') or ($top_half_variant = 'crafting.survival_panel_top_half'))) or ($item_collection_name = 'hotbar_items'))",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"helmet_switch": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('aux' + #item_id_aux + ',')",
// 결과가 들어갈 속성
"target_property_name": "#item_id_aux_str"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#item_id_aux / 65536)",
// 결과가 들어갈 속성
"target_property_name": "#item_id"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('id' + #item_id + ',')",
// 결과가 들어갈 속성
"target_property_name": "#item_id_str"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (($rainbowpie_ui_moduleflag_inventory_actions_armor_ids_helmet - #item_id_aux_str) = $rainbowpie_ui_moduleflag_inventory_actions_armor_ids_helmet))",
// 결과가 들어갈 속성
"target_property_name": "#is_match_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (($rainbowpie_ui_moduleflag_inventory_actions_armor_ids_helmet - #item_id_str) = $rainbowpie_ui_moduleflag_inventory_actions_armor_ids_helmet))",
// 결과가 들어갈 속성
"target_property_name": "#is_match_id"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_match_aux or #is_match_id)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"helmet_switch_1": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
"consume_hover_events": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#collection_name": "armor_items",
// ???/??? ?
"#collection_index": 0
},
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_auto_place",
// 어떤 동작을 실행할지
"to_button_id": "button.container_auto_place",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false
}
]
}
},
{
// ???/?? ??
"helmet_switch_2": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
"consume_hover_events": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_auto_place",
// 어떤 동작을 실행할지
"to_button_id": "button.container_auto_place",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false
}
]
}
}
]
}
},
{
// ???/?? ??
"chestplate_switch": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('aux' + #item_id_aux + ',')",
// 결과가 들어갈 속성
"target_property_name": "#item_id_aux_str"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#item_id_aux / 65536)",
// 결과가 들어갈 속성
"target_property_name": "#item_id"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('id' + #item_id + ',')",
// 결과가 들어갈 속성
"target_property_name": "#item_id_str"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (($rainbowpie_ui_moduleflag_inventory_actions_armor_ids_chestplate - #item_id_aux_str) = $rainbowpie_ui_moduleflag_inventory_actions_armor_ids_chestplate))",
// 결과가 들어갈 속성
"target_property_name": "#is_match_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (($rainbowpie_ui_moduleflag_inventory_actions_armor_ids_chestplate - #item_id_str) = $rainbowpie_ui_moduleflag_inventory_actions_armor_ids_chestplate))",
// 결과가 들어갈 속성
"target_property_name": "#is_match_id"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_match_aux or #is_match_id)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"chestplate_switch_1": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
"consume_hover_events": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#collection_name": "armor_items",
// ???/??? ?
"#collection_index": 1
},
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_auto_place",
// 어떤 동작을 실행할지
"to_button_id": "button.container_auto_place",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false
}
]
}
},
{
// ???/?? ??
"chestplate_switch_2": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
"consume_hover_events": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_auto_place",
// 어떤 동작을 실행할지
"to_button_id": "button.container_auto_place",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false
}
]
}
}
]
}
},
{
// ???/?? ??
"leggings_switch": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('aux' + #item_id_aux + ',')",
// 결과가 들어갈 속성
"target_property_name": "#item_id_aux_str"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#item_id_aux / 65536)",
// 결과가 들어갈 속성
"target_property_name": "#item_id"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('id' + #item_id + ',')",
// 결과가 들어갈 속성
"target_property_name": "#item_id_str"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (($rainbowpie_ui_moduleflag_inventory_actions_armor_ids_leggings - #item_id_aux_str) = $rainbowpie_ui_moduleflag_inventory_actions_armor_ids_leggings))",
// 결과가 들어갈 속성
"target_property_name": "#is_match_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (($rainbowpie_ui_moduleflag_inventory_actions_armor_ids_leggings - #item_id_str) = $rainbowpie_ui_moduleflag_inventory_actions_armor_ids_leggings))",
// 결과가 들어갈 속성
"target_property_name": "#is_match_id"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_match_aux or #is_match_id)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"leggings_switch_1": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
"consume_hover_events": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#collection_name": "armor_items",
// ???/??? ?
"#collection_index": 2
},
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_auto_place",
// 어떤 동작을 실행할지
"to_button_id": "button.container_auto_place",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false
}
]
}
},
{
// ???/?? ??
"leggings_switch_2": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
"consume_hover_events": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_auto_place",
// 어떤 동작을 실행할지
"to_button_id": "button.container_auto_place",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false
}
]
}
}
]
}
},
{
// ???/?? ??
"chestplate_boots": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('aux' + #item_id_aux + ',')",
// 결과가 들어갈 속성
"target_property_name": "#item_id_aux_str"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#item_id_aux / 65536)",
// 결과가 들어갈 속성
"target_property_name": "#item_id"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('id' + #item_id + ',')",
// 결과가 들어갈 속성
"target_property_name": "#item_id_str"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (($rainbowpie_ui_moduleflag_inventory_actions_armor_ids_boots - #item_id_aux_str) = $rainbowpie_ui_moduleflag_inventory_actions_armor_ids_boots))",
// 결과가 들어갈 속성
"target_property_name": "#is_match_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (($rainbowpie_ui_moduleflag_inventory_actions_armor_ids_boots - #item_id_str) = $rainbowpie_ui_moduleflag_inventory_actions_armor_ids_boots))",
// 결과가 들어갈 속성
"target_property_name": "#is_match_id"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_match_aux or #is_match_id)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"boots_switch_1": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
"consume_hover_events": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#collection_name": "armor_items",
// ???/??? ?
"#collection_index": 3
},
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_auto_place",
// 어떤 동작을 실행할지
"to_button_id": "button.container_auto_place",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false
}
]
}
},
{
// ???/?? ??
"boots_switch_2": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
"consume_hover_events": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_auto_place",
// 어떤 동작을 실행할지
"to_button_id": "button.container_auto_place",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false
}
]
}
}
]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"action_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_bce3269f)",
// 겹치는 순서(숫자 클수록 위)
"layer": 22,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"drop_one_input_panel": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
"consume_hover_events": "$touch",
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#using_touch"
},
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_action_dropone",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#inventory_action_dropone_enabled"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not (#item_id_aux = -1)) and #using_touch and #inventory_action_dropone_enabled)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.drop_one",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.drop_one",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
}
]
}
},
{
// ???/?? ??
"drop_all_input_panel": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
"consume_hover_events": "$touch",
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#using_touch"
},
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_action_dropall",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#inventory_action_dropall_enabled"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not (#item_id_aux = -1)) and #using_touch and #inventory_action_dropall_enabled)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.drop_all",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.drop_all",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
}
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"inventory_actions_inventory@rainbowpie_module_inventory_actions.inventory_actions": {
// 오버라이드 가능한 변수
"$action_button_stack_panel_size|default": [ 22, "100%c" ],
// 오버라이드 가능한 변수
"$action_button_stack_panel_max_size|default": [ 22, 156 ],
// 오버라이드 가능한 변수
"$padding_size|default": [ "100%", "9.090909090909091%x" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_bindings_panel@rainbowpie_module_inventory_actions.inventory_bindings_panel": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_bindings_panel@rainbowpie_module_inventory_actions.hotbar_bindings_panel": {}
},
{
// ???/?? ??
"action_button_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 가로/세로 크기
"size": "$action_button_stack_panel_size",
"max_size": "$action_button_stack_panel_max_size",
// 기준점에서 이동하는 거리
"offset": [ "109.0909090909091%x", 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"quick_craft_button@common_buttons.light_content_button": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_moduleflag_inventory_actions_quick_craft_enabled)",
// 오버라이드 가능한 변수
"$button_focus_precedence": -1,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "rainbowpie.ui.inventory.actions.quick_craft",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_border_layer": 30,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.crafting_output_tertiary",
// 오버라이드 가능한 변수
"$button_content": "rainbowpie_module_inventory_actions.craft_icon",
"consume_hover_events": false,
// 가로/세로 크기
"size": [ "100%", "100%x" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#collection_name": "crafting_output_items",
// ???/??? ?
"#collection_index": 0
}
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$padding_size",
// 완전히 제거(공간도 없음)
"ignored": "((not ($top_half_variant = 'crafting.survival_panel_top_half')) or (not $rainbowpie_ui_moduleflag_inventory_actions_drop_item_enabled))"
}
},
{
// ???/?? ??
"drop_all_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 50,
// 완전히 제거(공간도 없음)
"ignored": "((not ($top_half_variant = 'crafting.survival_panel_top_half')) or (not $rainbowpie_ui_moduleflag_inventory_actions_drop_item_enabled))",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_input_panel@rainbowpie_module_inventory_actions.armor_input_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_moduleflag_inventory_actions_drop_all_item_enabled)",
// 오버라이드 가능한 변수
"$button_auto_place": "button.drop_all"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"offhand_input_panel@rainbowpie_module_inventory_actions.offhand_input_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_moduleflag_inventory_actions_drop_all_item_enabled)",
// 오버라이드 가능한 변수
"$button_auto_place": "button.drop_all"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_input_panel@rainbowpie_module_inventory_actions.inventory_input_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_moduleflag_inventory_actions_drop_all_item_enabled)",
// 오버라이드 가능한 변수
"$button_auto_place": "button.drop_all"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_input_panel@rainbowpie_module_inventory_actions.hotbar_input_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_moduleflag_inventory_actions_drop_all_item_enabled)",
// 오버라이드 가능한 변수
"$button_auto_place": "button.drop_all"
}
},
{
// ???/?? ??
"drop_one_input_panel": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "100%", "100%x" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
"consume_hover_events": false,
// 보이기/숨기기(공간 유지)
"visible": false,
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_bce3269f",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#using_touch"
},
{
// 가져올 값 이름
"binding_name": "#inventory_selected_item",
// ?? ???
"binding_condition": "always"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_panel",
// 계산식/참조 값
"source_property_name": "#is_inventory_slot_selected",
// 결과가 들어갈 속성
"target_property_name": "#is_inventory_slot_selected"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_panel",
// 계산식/참조 값
"source_property_name": "#is_hotbar_slot_selected",
// 결과가 들어갈 속성
"target_property_name": "#is_hotbar_slot_selected"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(((not (#inventory_selected_item = -1)) or #is_inventory_slot_selected or #is_hotbar_slot_selected) and #using_touch)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.drop_one",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.drop_one",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false
}
]
}
}
]
}
},
{
// ???/?? ??
"drop_item_button_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%x" ],
// 완전히 제거(공간도 없음)
"ignored": "(not ($top_half_variant = 'crafting.survival_panel_top_half'))",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#rainbowpie_ui_flag_bce3269f": "$rainbowpie_ui_flag_bce3269f"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#using_touch"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#using_touch and #rainbowpie_ui_flag_bce3269f)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"drop_one@rainbowpie_module_inventory_actions.action_button_toggle_base": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "rainbowpie.ui.inventory.actions.drop_selection",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_border_layer": 30,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 가로/세로 크기
"size": [ "100%", "100%x" ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1000,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "inventory_action_dropone",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_bce3269f)",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_action_dropall",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"drop_item_button@common_buttons.light_content_button": {
// 완전히 제거(공간도 없음)
"ignored": "((not ($top_half_variant = 'crafting.survival_panel_top_half')) or (not $rainbowpie_ui_moduleflag_inventory_actions_drop_item_enabled))",
// 오버라이드 가능한 변수
"$button_focus_precedence": -1,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "rainbowpie.ui.inventory.actions.drop_selection",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_border_layer": 30,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "rainbowpie.drop_one",
// 오버라이드 가능한 변수
"$button_content": "rainbowpie_module_inventory_actions.drop_icon",
"consume_hover_events": false,
// 가로/세로 크기
"size": [ "100%", "100%x" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#rainbowpie_ui_flag_bce3269f": "$rainbowpie_ui_flag_bce3269f"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#using_touch"
},
{
// 가져올 값 이름
"binding_name": "#inventory_selected_item",
// ?? ???
"binding_condition": "always"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_panel",
// 계산식/참조 값
"source_property_name": "#is_inventory_slot_selected",
// 결과가 들어갈 속성
"target_property_name": "#is_inventory_slot_selected"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_panel",
// 계산식/참조 값
"source_property_name": "#is_hotbar_slot_selected",
// 결과가 들어갈 속성
"target_property_name": "#is_hotbar_slot_selected"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not (#is_inventory_slot_selected or #is_hotbar_slot_selected)) and (#inventory_selected_item = -1))",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#using_touch and #rainbowpie_ui_flag_bce3269f))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$padding_size",
// 완전히 제거(공간도 없음)
"ignored": "((not ($top_half_variant = 'crafting.survival_panel_top_half')) or (not $rainbowpie_ui_moduleflag_inventory_actions_delete_item_enabled))",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "#is_creative_mode",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"delete_all_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 50,
// 완전히 제거(공간도 없음)
"ignored": "((not ($top_half_variant = 'crafting.survival_panel_top_half')) or (not $rainbowpie_ui_moduleflag_inventory_actions_delete_item_enabled))",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_input_panel@rainbowpie_module_inventory_actions.armor_input_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_moduleflag_inventory_actions_delete_all_item_enabled)",
// 오버라이드 가능한 변수
"$button_auto_place": "button.container_auto_destroy"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"offhand_input_panel@rainbowpie_module_inventory_actions.offhand_input_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_moduleflag_inventory_actions_delete_all_item_enabled)",
// 오버라이드 가능한 변수
"$button_auto_place": "button.container_auto_destroy"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_input_panel@rainbowpie_module_inventory_actions.inventory_input_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_moduleflag_inventory_actions_delete_all_item_enabled)",
// 오버라이드 가능한 변수
"$button_auto_place": "button.container_auto_destroy"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_input_panel@rainbowpie_module_inventory_actions.hotbar_input_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_moduleflag_inventory_actions_delete_all_item_enabled)",
// 오버라이드 가능한 변수
"$button_auto_place": "button.container_auto_destroy"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "#is_creative_mode",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"delete_item_button@common_buttons.light_content_button": {
// 완전히 제거(공간도 없음)
"ignored": "((not ($top_half_variant = 'crafting.survival_panel_top_half')) or (not $rainbowpie_ui_moduleflag_inventory_actions_delete_item_enabled))",
// 오버라이드 가능한 변수
"$button_focus_precedence": -1,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "rainbowpie.ui.inventory.actions.destroy_selection",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_border_layer": 30,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.destroy_selection",
// 오버라이드 가능한 변수
"$button_content": "rainbowpie_module_inventory_actions.delete_icon",
"consume_hover_events": false,
// 가로/세로 크기
"size": [ "100%", "100%x" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "#is_creative_mode",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
},
{
// ???/?? ??
"secondary_action_button_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 가로/세로 크기
"size": "$action_button_stack_panel_size",
"max_size": "$action_button_stack_panel_max_size",
// 기준점에서 이동하는 거리
"offset": [ "218.1818181818182%x", 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"drop_all_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 50,
// 완전히 제거(공간도 없음)
"ignored": "((not ($top_half_variant = 'crafting.survival_panel_top_half')) or (not $rainbowpie_ui_moduleflag_inventory_actions_drop_item_enabled))",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_panel",
// 계산식/참조 값
"source_property_name": "#is_inventory_slot_selected",
// 결과가 들어갈 속성
"target_property_name": "#is_inventory_slot_selected"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_panel",
// 계산식/참조 값
"source_property_name": "#is_hotbar_slot_selected",
// 결과가 들어갈 속성
"target_property_name": "#is_hotbar_slot_selected"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#is_inventory_slot_selected or #is_hotbar_slot_selected))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_input_panel@rainbowpie_module_inventory_actions.armor_input_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_moduleflag_inventory_actions_drop_all_item_enabled)",
// 오버라이드 가능한 변수
"$button_take_all_place_all": "button.drop_all",
// 오버라이드 가능한 변수
"$button_mapping_type": "double_pressed"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"offhand_input_panel@rainbowpie_module_inventory_actions.offhand_input_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_moduleflag_inventory_actions_drop_all_item_enabled)",
// 오버라이드 가능한 변수
"$button_take_all_place_all": "button.drop_all",
// 오버라이드 가능한 변수
"$button_mapping_type": "double_pressed"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_input_panel@rainbowpie_module_inventory_actions.inventory_input_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_moduleflag_inventory_actions_drop_all_item_enabled)",
// 오버라이드 가능한 변수
"$button_take_all_place_all": "button.drop_all",
// 오버라이드 가능한 변수
"$button_mapping_type": "double_pressed"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_input_panel@rainbowpie_module_inventory_actions.hotbar_input_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_moduleflag_inventory_actions_drop_all_item_enabled)",
// 오버라이드 가능한 변수
"$button_take_all_place_all": "button.drop_all",
// 오버라이드 가능한 변수
"$button_mapping_type": "double_pressed"
}
}
]
}
},
{
// ???/?? ??
"drop_item_button_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%x" ],
// 완전히 제거(공간도 없음)
"ignored": "(not ($top_half_variant = 'crafting.survival_panel_top_half'))",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#rainbowpie_ui_flag_bce3269f": "$rainbowpie_ui_flag_bce3269f"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#using_touch"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#using_touch and #rainbowpie_ui_flag_bce3269f)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"drop_all@rainbowpie_module_inventory_actions.action_button_toggle_base": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "rainbowpie.ui.inventory.actions.drop_selection",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_border_layer": 30,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 가로/세로 크기
"size": [ "100%", "100%x" ],
// 오버라이드 가능한 변수
"$count_text": "All",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1001,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "inventory_action_dropall",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_bce3269f)",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_action_dropone",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"drop_item_button@common_buttons.light_content_button": {
// 완전히 제거(공간도 없음)
"ignored": "((not ($top_half_variant = 'crafting.survival_panel_top_half')) or (not $rainbowpie_ui_moduleflag_inventory_actions_drop_item_enabled))",
// 오버라이드 가능한 변수
"$button_focus_precedence": -1,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "rainbowpie.ui.inventory.actions.drop_inventory",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_border_layer": 30,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "rainbowpie.drop_one",
// 오버라이드 가능한 변수
"$button_content": "rainbowpie_module_inventory_actions.drop_icon",
// 오버라이드 가능한 변수
"$count_text": "All",
"consume_hover_events": false,
// 가로/세로 크기
"size": [ "100%", "100%x" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#rainbowpie_ui_flag_bce3269f": "$rainbowpie_ui_flag_bce3269f"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#using_touch"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventory_bindings_panel",
// 계산식/참조 값
"source_property_name": "#is_inventory_slot_selected",
// 결과가 들어갈 속성
"target_property_name": "#is_inventory_slot_selected"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "hotbar_bindings_panel",
// 계산식/참조 값
"source_property_name": "#is_hotbar_slot_selected",
// 결과가 들어갈 속성
"target_property_name": "#is_hotbar_slot_selected"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#is_inventory_slot_selected or #is_hotbar_slot_selected))",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#using_touch and #rainbowpie_ui_flag_bce3269f))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$padding_size",
// 완전히 제거(공간도 없음)
"ignored": "((not ($top_half_variant = 'crafting.survival_panel_top_half')) or (not $rainbowpie_ui_moduleflag_inventory_actions_delete_item_enabled))",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "#is_creative_mode",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"delete_all_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 50,
// 완전히 제거(공간도 없음)
"ignored": "((not ($top_half_variant = 'crafting.survival_panel_top_half')) or (not $rainbowpie_ui_moduleflag_inventory_actions_delete_item_enabled))",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_input_panel@rainbowpie_module_inventory_actions.armor_input_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_moduleflag_inventory_actions_delete_all_item_enabled)",
// 오버라이드 가능한 변수
"$button_take_all_place_all": "button.container_auto_destroy",
// 오버라이드 가능한 변수
"$button_mapping_type": "double_pressed"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"offhand_input_panel@rainbowpie_module_inventory_actions.offhand_input_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_moduleflag_inventory_actions_delete_all_item_enabled)",
// 오버라이드 가능한 변수
"$button_take_all_place_all": "button.container_auto_destroy",
// 오버라이드 가능한 변수
"$button_mapping_type": "double_pressed"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_input_panel@rainbowpie_module_inventory_actions.inventory_input_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_moduleflag_inventory_actions_delete_all_item_enabled)",
// 오버라이드 가능한 변수
"$button_take_all_place_all": "button.container_auto_destroy",
// 오버라이드 가능한 변수
"$button_mapping_type": "double_pressed"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_input_panel@rainbowpie_module_inventory_actions.hotbar_input_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_moduleflag_inventory_actions_delete_all_item_enabled)",
// 오버라이드 가능한 변수
"$button_take_all_place_all": "button.container_auto_destroy",
// 오버라이드 가능한 변수
"$button_mapping_type": "double_pressed"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "#is_creative_mode",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"delete_item_button@common_buttons.light_content_button": {
// 완전히 제거(공간도 없음)
"ignored": "((not ($top_half_variant = 'crafting.survival_panel_top_half')) or (not $rainbowpie_ui_moduleflag_inventory_actions_delete_item_enabled))",
// 오버라이드 가능한 변수
"$button_focus_precedence": -1,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "rainbowpie.ui.inventory.actions.destroy_inventory",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_border_layer": 30,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.destroy_selection",
// 오버라이드 가능한 변수
"$button_content": "rainbowpie_module_inventory_actions.delete_icon",
// 오버라이드 가능한 변수
"$chest_visible": true,
"consume_hover_events": false,
// 가로/세로 크기
"size": [ "100%", "100%x" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "#is_creative_mode",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#using_touch",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: hud_item.json
// 분류: RainbowPie UI / module lib
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpie_modulelib_hud_item",
// ???/?? ??
"selected_slot_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#inventory_stack_count",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "hotbar_items"
},
{
// 가져올 값 이름
"binding_name": "#slot_selected",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "hotbar_items"
},
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 이름
"binding_collection_name": "hotbar_items"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#item_id_aux * #slot_selected)",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#inventory_stack_count * 1)",
// 결과가 들어갈 속성
"target_property_name": "#item_stack_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#inventory_stack_count = 0)",
// 결과가 들어갈 속성
"target_property_name": "#is_single_item"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#is_single_item + #item_stack_count) * #slot_selected)",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_stack_count"
}
]
},
// ???/?? ??
"selected_slot_item_id_aux": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 목록 이름
"collection_name": "hotbar_items",
// 가로/세로 크기
"size": [ 0, 0 ],
// 보이기/숨기기(공간 유지)
"visible": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_slot_0@rainbowpie_modulelib_hud_item.selected_slot_item": {
"collection_index": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_slot_1@rainbowpie_modulelib_hud_item.selected_slot_item": {
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_slot_2@rainbowpie_modulelib_hud_item.selected_slot_item": {
"collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_slot_3@rainbowpie_modulelib_hud_item.selected_slot_item": {
"collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_slot_4@rainbowpie_modulelib_hud_item.selected_slot_item": {
"collection_index": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_slot_5@rainbowpie_modulelib_hud_item.selected_slot_item": {
"collection_index": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_slot_6@rainbowpie_modulelib_hud_item.selected_slot_item": {
"collection_index": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_slot_7@rainbowpie_modulelib_hud_item.selected_slot_item": {
"collection_index": 7
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_slot_8@rainbowpie_modulelib_hud_item.selected_slot_item": {
"collection_index": 8
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_0",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#slot_0_item_id_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_1",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#slot_1_item_id_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_2",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#slot_2_item_id_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_3",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#slot_3_item_id_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_4",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#slot_4_item_id_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_5",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#slot_5_item_id_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_6",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#slot_6_item_id_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_7",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#slot_7_item_id_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_8",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#slot_8_item_id_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#slot_0_item_id_aux + #slot_1_item_id_aux + #slot_2_item_id_aux + #slot_3_item_id_aux + #slot_4_item_id_aux + #slot_5_item_id_aux + #slot_6_item_id_aux + #slot_7_item_id_aux + #slot_8_item_id_aux)",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_id_aux_int"
}
]
},
// ???/?? ??
"selected_slot_item_count": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 목록 이름
"collection_name": "hotbar_items",
// 가로/세로 크기
"size": [ 0, 0 ],
// 보이기/숨기기(공간 유지)
"visible": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_slot_0_count@rainbowpie_modulelib_hud_item.selected_slot_item": {
"collection_index": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_slot_1_count@rainbowpie_modulelib_hud_item.selected_slot_item": {
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_slot_2_count@rainbowpie_modulelib_hud_item.selected_slot_item": {
"collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_slot_3_count@rainbowpie_modulelib_hud_item.selected_slot_item": {
"collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_slot_4_count@rainbowpie_modulelib_hud_item.selected_slot_item": {
"collection_index": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_slot_5_count@rainbowpie_modulelib_hud_item.selected_slot_item": {
"collection_index": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_slot_6_count@rainbowpie_modulelib_hud_item.selected_slot_item": {
"collection_index": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_slot_7_count@rainbowpie_modulelib_hud_item.selected_slot_item": {
"collection_index": 7
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_slot_8_count@rainbowpie_modulelib_hud_item.selected_slot_item": {
"collection_index": 8
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_0_count",
// 계산식/참조 값
"source_property_name": "#selected_item_stack_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_0_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_1_count",
// 계산식/참조 값
"source_property_name": "#selected_item_stack_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_1_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_2_count",
// 계산식/참조 값
"source_property_name": "#selected_item_stack_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_2_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_3_count",
// 계산식/참조 값
"source_property_name": "#selected_item_stack_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_3_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_4_count",
// 계산식/참조 값
"source_property_name": "#selected_item_stack_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_4_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_5_count",
// 계산식/참조 값
"source_property_name": "#selected_item_stack_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_5_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_6_count",
// 계산식/참조 값
"source_property_name": "#selected_item_stack_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_6_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_7_count",
// 계산식/참조 값
"source_property_name": "#selected_item_stack_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_7_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "selected_slot_8_count",
// 계산식/참조 값
"source_property_name": "#selected_item_stack_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_8_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#slot_0_item_count + #slot_1_item_count + #slot_2_item_count + #slot_3_item_count + #slot_4_item_count + #slot_5_item_count + #slot_6_item_count + #slot_7_item_count + #slot_8_item_count)",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_stack_count_int"
}
]
},
// ???/?? ??
"selected_slot_item_counter": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#inventory_stack_count",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "hotbar_items"
},
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "hotbar_items"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"resolve_sibling_scope": true,
"source_control_name": "selected_slot_item_id_aux",
// 계산식/참조 값
"source_property_name": "#selected_item_id_aux_int",
// 결과가 들어갈 속성
"target_property_name": "#items_id_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#item_id_aux = #items_id_aux)",
// 결과가 들어갈 속성
"target_property_name": "#is_selected_item"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#inventory_stack_count * 1)",
// 결과가 들어갈 속성
"target_property_name": "#item_stack_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#inventory_stack_count = 0)",
// 결과가 들어갈 속성
"target_property_name": "#is_single_item"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#is_single_item + #item_stack_count) * #is_selected_item)",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_count"
}
]
},
// ???/?? ??
"selected_item_count": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 목록 이름
"collection_name": "hotbar_items",
// 가로/세로 크기
"size": [ 0, 0 ],
// 보이기/숨기기(공간 유지)
"visible": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_slot_item_id_aux@rainbowpie_modulelib_hud_item.selected_slot_item_id_aux": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"count_slot_0@rainbowpie_modulelib_hud_item.selected_slot_item_counter": {
"collection_index": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"count_slot_1@rainbowpie_modulelib_hud_item.selected_slot_item_counter": {
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"count_slot_2@rainbowpie_modulelib_hud_item.selected_slot_item_counter": {
"collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"count_slot_3@rainbowpie_modulelib_hud_item.selected_slot_item_counter": {
"collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"count_slot_4@rainbowpie_modulelib_hud_item.selected_slot_item_counter": {
"collection_index": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"count_slot_5@rainbowpie_modulelib_hud_item.selected_slot_item_counter": {
"collection_index": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"count_slot_6@rainbowpie_modulelib_hud_item.selected_slot_item_counter": {
"collection_index": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"count_slot_7@rainbowpie_modulelib_hud_item.selected_slot_item_counter": {
"collection_index": 7
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"count_slot_8@rainbowpie_modulelib_hud_item.selected_slot_item_counter": {
"collection_index": 8
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "count_slot_0",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_0_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "count_slot_1",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_1_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "count_slot_2",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_2_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "count_slot_3",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_3_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "count_slot_4",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_4_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "count_slot_5",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_5_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "count_slot_6",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_6_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "count_slot_7",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_7_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "count_slot_8",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_8_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#slot_0_item_count + #slot_1_item_count + #slot_2_item_count + #slot_3_item_count + #slot_4_item_count + #slot_5_item_count + #slot_6_item_count + #slot_7_item_count + #slot_8_item_count)",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_total_count_int"
}
]
},
// ???/?? ??
"inventory_item_counter_child": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#inventory_stack_count",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "hotbar_items"
},
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "hotbar_items"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#item_id_aux / 65536)",
// 결과가 들어갈 속성
"target_property_name": "#item_id"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('aux' + #item_id_aux + ',')",
// 결과가 들어갈 속성
"target_property_name": "#item_id_aux_str"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('id' + #item_id + ',')",
// 결과가 들어갈 속성
"target_property_name": "#item_id_str"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (($rainbowpie_localui_inventory_target_item_ids - #item_id_aux_str) = $rainbowpie_localui_inventory_target_item_ids))",
// 결과가 들어갈 속성
"target_property_name": "#is_match_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (($rainbowpie_localui_inventory_target_item_ids - #item_id_str) = $rainbowpie_localui_inventory_target_item_ids))",
// 결과가 들어갈 속성
"target_property_name": "#is_match_id"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_match_aux or #is_match_id)",
// 결과가 들어갈 속성
"target_property_name": "#is_target_item"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#inventory_stack_count * 1)",
// 결과가 들어갈 속성
"target_property_name": "#item_stack_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#inventory_stack_count = 0)",
// 결과가 들어갈 속성
"target_property_name": "#is_single_item"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#is_single_item + #item_stack_count) * #is_target_item)",
// 결과가 들어갈 속성
"target_property_name": "#selected_item_count"
}
]
},
// ???/?? ??
"inventory_item_counter": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
"collection_index": "$collection_index",
// 오버라이드 가능한 변수
"$counter_control_name": "('inventory_count_slot_' + $collection_index + '_' + $rainbowpie_localui_inventory_target_item_ids)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"$counter_control_name@rainbowpie_modulelib_hud_item.inventory_item_counter_child": {}
}
]
},
// ???/?? ??
"hotbar_item_count": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 목록 이름
"collection_name": "hotbar_items",
// 가로/세로 크기
"size": [ 0, 0 ],
// 보이기/숨기기(공간 유지)
"visible": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventory_target_item_ids|default": "",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_0@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_1@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_2@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_3@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_4@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_5@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_6@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_7@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 7
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_8@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 8
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_0_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_0_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_1_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_1_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_2_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_2_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_3_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_3_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_4_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_4_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_5_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_5_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_6_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_6_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_7_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_7_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_8_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_8_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#slot_0_item_count + #slot_1_item_count + #slot_2_item_count + #slot_3_item_count + #slot_4_item_count + #slot_5_item_count + #slot_6_item_count + #slot_7_item_count + #slot_8_item_count)",
// 결과가 들어갈 속성
"target_property_name": "#hotbar_target_item_total_count_int"
}
]
},
// ???/?? ??
"inventory_item_count": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 목록 이름
"collection_name": "hotbar_items",
// 가로/세로 크기
"size": [ 0, 0 ],
// 보이기/숨기기(공간 유지)
"visible": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventory_target_item_ids|default": "",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_0@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_1@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_2@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_3@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_4@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_5@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_6@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_7@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 7
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_8@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 8
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_9@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 9
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_10@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 10
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_11@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 11
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_12@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 12
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_13@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 13
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_14@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 14
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_15@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 15
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_16@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 16
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_17@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 17
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_18@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 18
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_19@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 19
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_20@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 20
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_21@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 21
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_22@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 22
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_23@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 23
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_24@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 24
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_25@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 25
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_26@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 26
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_27@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 27
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_28@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 28
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_29@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 29
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_30@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 30
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_31@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 31
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_32@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 32
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_33@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 33
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_34@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 34
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_count_slot_35@rainbowpie_modulelib_hud_item.inventory_item_counter": {
// 오버라이드 가능한 변수
"$collection_index": 35
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_0_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_0_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_1_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_1_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_2_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_2_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_3_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_3_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_4_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_4_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_5_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_5_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_6_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_6_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_7_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_7_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_8_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_8_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_9_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_9_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_10_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_10_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_11_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_11_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_12_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_12_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_13_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_13_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_14_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_14_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_15_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_15_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_16_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_16_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_17_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_17_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_18_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_18_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_19_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_19_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_20_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_20_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_21_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_21_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_22_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_22_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_23_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_23_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_24_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_24_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_25_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_25_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_26_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_26_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_27_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_27_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_28_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_28_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_29_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_29_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_30_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_30_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_31_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_31_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_32_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_32_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_33_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_33_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_34_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_34_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "('inventory_count_slot_35_' + $rainbowpie_localui_inventory_target_item_ids)",
// 계산식/참조 값
"source_property_name": "#selected_item_count",
// 결과가 들어갈 속성
"target_property_name": "#slot_35_item_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#slot_0_item_count + #slot_1_item_count + #slot_2_item_count + #slot_3_item_count + #slot_4_item_count + #slot_5_item_count + #slot_6_item_count + #slot_7_item_count + #slot_8_item_count + #slot_9_item_count + #slot_10_item_count + #slot_11_item_count + #slot_12_item_count + #slot_13_item_count + #slot_14_item_count + #slot_15_item_count + #slot_16_item_count + #slot_17_item_count + #slot_18_item_count + #slot_19_item_count + #slot_20_item_count + #slot_21_item_count + #slot_22_item_count + #slot_23_item_count + #slot_24_item_count + #slot_25_item_count + #slot_26_item_count + #slot_27_item_count + #slot_28_item_count + #slot_29_item_count + #slot_30_item_count + #slot_31_item_count + #slot_32_item_count + #slot_33_item_count + #slot_34_item_count + #slot_35_item_count)",
// 결과가 들어갈 속성
"target_property_name": "#inventory_target_item_total_count_int"
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: music_player_screen.json
// 분류: RainbowPie UI / screen
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpie_ui_music_player",
// 다른 템플릿을 가져와서 확장(상속)
"music_player_button_toggle_base@common_toggles.light_ui_toggle": {
// ??/???
"enabled": "$rainbowpie_ui_feature_musicplayer",
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_text_binding_type": "none",
// 오버라이드 가능한 변수
"$button_binding_condition": "none",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "none",
// 오버라이드 가능한 변수
"$button_text": "rainbowpie.ui.music.button",
// 오버라이드 가능한 변수
"$button_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpie_music_player",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 1003,
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 0,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": ""
},
// 다른 템플릿을 가져와서 확장(상속)
"exit_music_button@rainbowpie_ui_music_player.music_player_button_toggle_base": {
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1001,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "close_music_player",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "close_music_player",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
},
// ???/?? ??
"exit_button_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background_button_image@rainbowpie_ui_controls.background_button_image": {
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$alpha": 0.0,
// ???
"alpha": "$alpha",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$hover_state",
// 오버라이드 가능한 변수
"$alpha": 0.3
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", 16 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, "100%" ]
}
},
{
// ???/?? ??
"chevron_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"left_chevron@common.chevron_image": {
// 사용할 이미지 경로
"texture": "textures/ui/chevron_left",
// 기준점에서 이동하는 거리
"offset": [ 0, -0.5 ],
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_topbar_text_color"
}
}
]
}
},
{
// ???/?? ??
"padding2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, "100%" ]
}
},
{
// ???/?? ??
"button_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button_text@rainbowpie_ui_common.text_label_notheme": {
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_topbar_text_color",
// 보여줄 글자
"text": "$button_text"
}
}
]
}
},
{
// ???/?? ??
"padding3": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, "100%" ]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"header_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"exit_music_button@rainbowpie_ui_music_player.exit_music_button": {
// 오버라이드 가능한 변수
"$toggle_focus_enabled": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_border_enabled": false,
// 오버라이드 가능한 변수
"$button_content_size": [ "100% - 4px", "100%" ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.0,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha": 0.0,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha": 0.0,
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_content": "rainbowpie_ui_music_player.exit_button_content",
// 오버라이드 가능한 변수
"$button_text": "rainbowpie.ui.music.title",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 가로/세로 크기
"size": [ 150, 20 ],
// 오버라이드 가능한 변수
"$button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
]
}
}
]
},
// ???/?? ??
"music_player_screen": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"header@rainbowpie_ui_common.screen_header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_title": "Music Player Title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_content_panel": "rainbowpie_ui_music_player.header_content",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_show_close": false
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"blur_layer@mintui_background.background_blur": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_3e35fb2e",
// 오버라이드 가능한 변수
"$background_offset": [ "-68%", 20 ],
// 오버라이드 가능한 변수
"$background_children_offset": [ "68%", -20 ],
// 오버라이드 가능한 변수
"$background_layer": -3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"mask_layer@mintui_background.background_mask": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_3e35fb2e",
// 오버라이드 가능한 변수
"$background_offset": [ "-68%", 20 ],
// 오버라이드 가능한 변수
"$background_children_offset": [ "68%", -20 ],
// 오버라이드 가능한 변수
"$background_layer": -3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background_blur@mintui_background.background_blur_fullscreen": {
// 완전히 제거(공간도 없음)
"ignored": "((not $is_pregame) or (not $rainbowpie_ui_flag_3e35fb2e))",
// 오버라이드 가능한 변수
"$background_mask": false,
// 겹치는 순서(숫자 클수록 위)
"layer": -3
}
},
{
// ???/?? ??
"container": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100% - 20px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"selector_background@rainbowpie_ui_common.text_background": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_71042f58",
// 보이기/숨기기(공간 유지)
"visible": "((not $is_pregame) or (not $rainbowpie_ui_feature_background_blur))",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 가로/세로 크기
"size": [ "32%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"content_background@rainbowpie_ui_common.global_background": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 가로/세로 크기
"size": [ "68%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ???
"alpha": "$rainbowpie_localui_this_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_alpha": "$rainbowpie_ui_theme_global_background_alpha",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$is_pregame",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_alpha": 0.5
}
]
}
},
{
// ???/?? ??
"dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 이 안에 들어가는 부품 목록
"controls": [
{ "selector_area@rainbowpie_ui_music_player.selector_area": {} },
{ "content_area@rainbowpie_ui_music_player.content_area": {} }
]
}
}
]
}
}
]
},
// ???/?? ??
"selector_area": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "32%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
"focus_container": true,
"use_last_focus": true,
// 오버라이드 가능한 변수
"$focus_navigation_mode_override_down|default": "contained",
// 오버라이드 가능한 변수
"$focus_navigation_mode_override_up|default": "contained",
// 오버라이드 가능한 변수
"$focus_navigation_mode_override_left|default": "",
// 오버라이드 가능한 변수
"$focus_navigation_mode_override_right|default": "",
"focus_navigation_mode_down": "$focus_navigation_mode_override_down",
"focus_navigation_mode_up": "$focus_navigation_mode_override_up",
"focus_navigation_mode_left": "$focus_navigation_mode_override_left",
"focus_navigation_mode_right": "$focus_navigation_mode_override_right",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@common.scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scrolling_content": "rainbowpie_ui_music_player.scrollable_selector_area_content",
// 오버라이드 가능한 변수
"$show_background": false,
// 오버라이드 가능한 변수
"$scroll_size": [ "5px", "100% - 4px" ],
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 1, 0 ]
}
}
]
},
// ???/?? ??
"scrollable_selector_area_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점에서 이동하는 거리
"offset": [ 1, 1 ],
// 가로/세로 크기
"size": [ "100% - 2px", "100%c + 2px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"selector_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 오버라이드 가능한 변수
"$default_selector_toggle_index": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"home_button@rainbowpie_ui_music_player.section_toggle_button": {
// 오버라이드 가능한 변수
"$section_topic": "home",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1
}
},
{ "single_category@rainbowpie_ui_music_player.topic_category": { "$category": "single" } },
{
// 다른 템플릿을 가져와서 확장(상속)
"record_music_button@rainbowpie_ui_music_player.section_toggle_button": {
// 오버라이드 가능한 변수
"$section_topic": "record",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 2
}
}
]
}
}
]
},
// ???/?? ??
"content_area": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "68%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"control": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100% - 2px", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@common.scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 가로/세로 크기
"size": [ "100%", "fill" ],
// 오버라이드 가능한 변수
"$scrolling_content": "rainbowpie_ui_music_player.scrollable_content_area_content",
// 오버라이드 가능한 변수
"$show_background": false,
// 오버라이드 가능한 변수
"$scroll_size": [ "5px", "100% - 4px" ],
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 1, 0 ]
}
}
]
}
}
]
},
// ???/?? ??
"scrollable_content_area_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점에서 이동하는 거리
"offset": [ 1, 1 ],
// 가로/세로 크기
"size": [ "100% - 2px", "100%c + 2px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"content_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 오버라이드 가능한 변수
"$default_selector_toggle_index": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"home_section@rainbowpie_ui_music_player.home_section": {
// 오버라이드 가능한 변수
"$section_topic": "home"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"record_section@rainbowpie_ui_music_player.record_section": {
// 오버라이드 가능한 변수
"$section_topic": "record"
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"home_section@rainbowpie_ui_music_player.main_sections": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"tip_background@rainbowpie_ui_common.text_background": {
// 완전히 제거(공간도 없음)
"ignored": true,
// 가로/세로 크기
"size": [ "100%", "100%c + 4px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"tip_text@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "100% - 4px", "default" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 보여줄 글자
"text": "tip text"
}
}
]
}
},
{
// ???/?? ??
"padding_0": {
// 완전히 제거(공간도 없음)
"ignored": true,
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// ???/?? ??
"album_1": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", 100 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"record@rainbowpie_ui_music_player.album_template": {
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$album_cover_texture": "($rainbowpie_ui_path_home + '/music_player/record')",
// 오버라이드 가능한 변수
"$album_title": "rainbowpie.ui.music.section.record",
// 오버라이드 가능한 변수
"$album_sound_name": "minecraft.music.record",
// 오버라이드 가능한 변수
"$album_section_topic": "record",
// 오버라이드 가능한 변수
"$album_forced_index": 1001
}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"record_section@rainbowpie_ui_music_player.main_sections": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"record_13@rainbowpie_ui_music_player.music_template_button": {
// 오버라이드 가능한 변수
"$music_button_texture": "textures/items/record_13",
// 오버라이드 가능한 변수
"$music_button_text": "item.record_13.desc",
// 오버라이드 가능한 변수
"$music_button_sound": "record.play.13",
// 오버라이드 가능한 변수
"$music_button_duration": 178
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"record_cat@rainbowpie_ui_music_player.music_template_button": {
// 오버라이드 가능한 변수
"$music_button_texture": "textures/items/record_cat",
// 오버라이드 가능한 변수
"$music_button_text": "item.record_cat.desc",
// 오버라이드 가능한 변수
"$music_button_sound": "record.play.cat",
// 오버라이드 가능한 변수
"$music_button_duration": 185
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"record_blocks@rainbowpie_ui_music_player.music_template_button": {
// 오버라이드 가능한 변수
"$music_button_texture": "textures/items/record_blocks",
// 오버라이드 가능한 변수
"$music_button_text": "item.record_blocks.desc",
// 오버라이드 가능한 변수
"$music_button_sound": "record.play.blocks",
// 오버라이드 가능한 변수
"$music_button_duration": 345
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"record_chirp@rainbowpie_ui_music_player.music_template_button": {
// 오버라이드 가능한 변수
"$music_button_texture": "textures/items/record_chirp",
// 오버라이드 가능한 변수
"$music_button_text": "item.record_chirp.desc",
// 오버라이드 가능한 변수
"$music_button_sound": "record.play.chirp",
// 오버라이드 가능한 변수
"$music_button_duration": 185
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"record_far@rainbowpie_ui_music_player.music_template_button": {
// 오버라이드 가능한 변수
"$music_button_texture": "textures/items/record_far",
// 오버라이드 가능한 변수
"$music_button_text": "item.record_far.desc",
// 오버라이드 가능한 변수
"$music_button_sound": "record.play.far",
// 오버라이드 가능한 변수
"$music_button_duration": 174
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"record_mall@rainbowpie_ui_music_player.music_template_button": {
// 오버라이드 가능한 변수
"$music_button_texture": "textures/items/record_mall",
// 오버라이드 가능한 변수
"$music_button_text": "item.record_mall.desc",
// 오버라이드 가능한 변수
"$music_button_sound": "record.play.mall",
// 오버라이드 가능한 변수
"$music_button_duration": 197
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"record_mellohi@rainbowpie_ui_music_player.music_template_button": {
// 오버라이드 가능한 변수
"$music_button_texture": "textures/items/record_mellohi",
// 오버라이드 가능한 변수
"$music_button_text": "item.record_mellohi.desc",
// 오버라이드 가능한 변수
"$music_button_sound": "record.play.mellohi",
// 오버라이드 가능한 변수
"$music_button_duration": 96
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"record_stal@rainbowpie_ui_music_player.music_template_button": {
// 오버라이드 가능한 변수
"$music_button_texture": "textures/items/record_stal",
// 오버라이드 가능한 변수
"$music_button_text": "item.record_stal.desc",
// 오버라이드 가능한 변수
"$music_button_sound": "record.play.stal",
// 오버라이드 가능한 변수
"$music_button_duration": 150
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"record_strad@rainbowpie_ui_music_player.music_template_button": {
// 오버라이드 가능한 변수
"$music_button_texture": "textures/items/record_strad",
// 오버라이드 가능한 변수
"$music_button_text": "item.record_strad.desc",
// 오버라이드 가능한 변수
"$music_button_sound": "record.play.strad",
// 오버라이드 가능한 변수
"$music_button_duration": 188
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"record_ward@rainbowpie_ui_music_player.music_template_button": {
// 오버라이드 가능한 변수
"$music_button_texture": "textures/items/record_ward",
// 오버라이드 가능한 변수
"$music_button_text": "item.record_ward.desc",
// 오버라이드 가능한 변수
"$music_button_sound": "record.play.ward",
// 오버라이드 가능한 변수
"$music_button_duration": 251
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"record_11@rainbowpie_ui_music_player.music_template_button": {
// 오버라이드 가능한 변수
"$music_button_texture": "textures/items/record_11",
// 오버라이드 가능한 변수
"$music_button_text": "item.record_11.desc",
// 오버라이드 가능한 변수
"$music_button_sound": "record.play.11",
// 오버라이드 가능한 변수
"$music_button_duration": 71
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"record_wait@rainbowpie_ui_music_player.music_template_button": {
// 오버라이드 가능한 변수
"$music_button_texture": "textures/items/record_wait",
// 오버라이드 가능한 변수
"$music_button_text": "item.record_wait.desc",
// 오버라이드 가능한 변수
"$music_button_sound": "record.play.wait",
// 오버라이드 가능한 변수
"$music_button_duration": 237
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"record_otherside@rainbowpie_ui_music_player.music_template_button": {
// 오버라이드 가능한 변수
"$music_button_texture": "textures/items/record_otherside",
// 오버라이드 가능한 변수
"$music_button_text": "item.record_otherside.desc",
// 오버라이드 가능한 변수
"$music_button_sound": "record.play.otherside",
// 오버라이드 가능한 변수
"$music_button_duration": 195
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"record_5@rainbowpie_ui_music_player.music_template_button": {
// 오버라이드 가능한 변수
"$music_button_texture": "textures/items/record_5",
// 오버라이드 가능한 변수
"$music_button_text": "item.record_5.desc",
// 오버라이드 가능한 변수
"$music_button_sound": "minecraft.music.the_wild_update.five",
// 오버라이드 가능한 변수
"$music_button_duration": 178
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"record_pigstep@rainbowpie_ui_music_player.music_template_button": {
// 오버라이드 가능한 변수
"$music_button_texture": "textures/items/record_pigstep",
// 오버라이드 가능한 변수
"$music_button_text": "item.record_pigstep.desc",
// 오버라이드 가능한 변수
"$music_button_sound": "record.play.pigstep_master",
// 오버라이드 가능한 변수
"$music_button_duration": 178
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"record_relic@rainbowpie_ui_music_player.music_template_button": {
// 오버라이드 가능한 변수
"$music_button_texture": "textures/items/music_disc_relic",
// 오버라이드 가능한 변수
"$music_button_text": "item.record_relic.desc",
// 오버라이드 가능한 변수
"$music_button_sound": "record.play.relic",
// 오버라이드 가능한 변수
"$music_button_duration": 178
}
}
]
},
// ???/?? ??
"topic_category": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 16 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"list_title@rainbowpie_ui_common.title_background": {
// 오버라이드 가능한 변수
"$category|default": "none",
// 가로/세로 크기
"size": [ "100%", 14 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 4px", 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title@rainbowpie_ui_common.title_label": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 보여줄 글자
"text": "('rainbowpie.ui.music.category.' + $category)",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"album_template": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 70, 116 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 오버라이드 가능한 변수
"$album_cover_texture|default": "($rainbowpie_ui_path_home + '/music_player/album_volume_alpha')",
// 오버라이드 가능한 변수
"$album_title|default": "Album Template",
// 오버라이드 가능한 변수
"$album_sound_name|default": "random.click",
// 오버라이드 가능한 변수
"$album_section_topic|default": "none",
// 오버라이드 가능한 변수
"$album_forced_index|default": 1000,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@rainbowpie_ui_common.text_background": {
// 가로/세로 크기
"size": [ "100%", "100% - 26px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"cover_image": {
// 이미지 표시
"type": "image",
"fill": true,
// 사용할 이미지 경로
"texture": "$album_cover_texture",
// 가로/세로 크기
"size": [ "100%", "100% - 14px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"music_title@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "100% - 4px", 14 ],
// 기준점에서 이동하는 거리
"offset": [ 0, "100% - 14px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 보여줄 글자
"text": "$album_title",
// ?? ?? ??
"font_scale_factor": 1.4,
// 겹치는 순서(숫자 클수록 위)
"layer": 5
}
}
]
}
},
{
// ???/?? ??
"button_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100% + 1px", 25 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"play_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 20,
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$pressed_button_name": "rainbowpie.music_empty",
// 오버라이드 가능한 변수
"$button_content": "rainbowpie_ui_music_player.play_button_icon",
// ??? ??
"sound_name": "$album_sound_name",
"sound_volume": 1.0,
"sound_pitch": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"section_toggle_button@common_toggles.light_ui_toggle": {
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_text_binding_type": "none",
// 오버라이드 가능한 변수
"$button_binding_condition": "none",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "none",
// 오버라이드 가능한 변수
"$button_text": "rainbowpie.ui.music.button.seeAll",
// 오버라이드 가능한 변수
"$button_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpieui_music_player_navigation_tab",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": "$default_selector_toggle_index",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$album_forced_index",
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "($album_section_topic + '_second_button_toggle')"
}
}
]
}
}
]
},
// ???/?? ??
"music_template_button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 29 ],
// ?? ????
"clips_children": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 오버라이드 가능한 변수
"$music_button_sound|default": "null",
// 오버라이드 가능한 변수
"$music_pitch|default": 1.0,
// 오버라이드 가능한 변수
"$music_button_text|default": "null",
// 오버라이드 가능한 변수
"$music_button_texture|default": "",
// 오버라이드 가능한 변수
"$music_button_duration|default": 0,
// 오버라이드 가능한 변수
"$music_button_stoppable|default": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@rainbowpie_ui_common.text_background": {
// 가로/세로 크기
"size": [ "100%", "100% - 1px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"progress_bar": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, "100%" ],
"animation_reset_name": "($music_button_sound + '_stop')",
// 애니메이션 목록
"anims": [
"@rainbowpie_ui_music_player.music_progress_bar_panel_panel"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"music_progress_bar_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, "100%" ],
"animation_reset_name": "$music_button_sound",
// 애니메이션 목록
"anims": [
"@rainbowpie_ui_music_player.music_progress_bar_panel"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"music_progress_bar": {
// 이미지 표시
"type": "image",
// 완전히 제거(공간도 없음)
"ignored": "($music_button_duration = 0)",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ "-100%", 0 ],
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_button_background_hover_color",
// ???
"alpha": "$rainbowpie_ui_theme_button_background_hover_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
"animation_reset_name": "$music_button_sound",
// 애니메이션 목록
"anims": [
"@rainbowpie_ui_music_player.music_progress_bar_wait"
]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"music_icon": {
// 겹치는 순서(숫자 클수록 위)
"layer": 12,
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "$music_button_texture",
// 가로/세로 크기
"size": [ "100%y", "100% - 2px" ],
// 기준점에서 이동하는 거리
"offset": [ 1, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"play_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 겹치는 순서(숫자 클수록 위)
"layer": 12,
// 가로/세로 크기
"size": [ "100%y", "100% - 2px" ],
// 기준점에서 이동하는 거리
"offset": [ 28, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 오버라이드 가능한 변수
"$pressed_button_name": "$music_button_sound",
// 오버라이드 가능한 변수
"$button_content": "rainbowpie_ui_music_player.play_button_icon",
// ??? ??
"sound_name": "$music_button_sound",
"sound_volume": 1.0,
"sound_pitch": "$music_pitch"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"stop_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 보이기/숨기기(공간 유지)
"visible": "$music_button_stoppable",
// 겹치는 순서(숫자 클수록 위)
"layer": 12,
// 가로/세로 크기
"size": [ "100%y", "100% - 2px" ],
// 기준점에서 이동하는 거리
"offset": [ 55, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 오버라이드 가능한 변수
"$pressed_button_name": "($music_button_sound + '_stop')",
// 오버라이드 가능한 변수
"$button_content": "rainbowpie_ui_music_player.stop_button_icon",
// ??? ??
"sound_name": "$music_button_sound",
"sound_volume": 0.0000000000001,
"sound_pitch": 0.0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"music_title@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "100% - 58px", 14 ],
// 오버라이드 가능한 변수
"$text_offset|default": [ 59, 0 ],
// 기준점에서 이동하는 거리
"offset": "$text_offset",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// ?? ?? ??
"font_scale_factor": 1.4,
// ?? ??
"text_alignment": "left",
// 보여줄 글자
"text": "$music_button_text",
// 겹치는 순서(숫자 클수록 위)
"layer": 12,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$music_button_stoppable",
// 오버라이드 가능한 변수
"$text_offset": [ 86, 0 ]
}
]
}
}
]
}
}
]
},
// ???/?? ??
"play_button_icon": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"image": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 사용할 이미지 경로
"texture": "textures/ui/store_play_button"
}
}
]
},
// ???/?? ??
"stop_button_icon": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"image": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 8px" ],
// 사용할 이미지 경로
"texture": "textures/ui/White"
}
}
]
},
// ???/?? ??
"music_progress_bar": {
// 위치 이동
"anim_type": "offset",
// 걸리는 시간(초)
"duration": "($music_button_duration)",
// 시작 값
"from": [ "-100%", 0 ],
// 끝 값
"to": [ 0, 0 ],
// 다음 애니메이션으로 연결
"next": "@rainbowpie_ui_music_player.music_progress_bar_wait"
},
// ???/?? ??
"music_progress_bar_wait": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 0,
// 다음 애니메이션으로 연결
"next": "@rainbowpie_ui_music_player.music_progress_bar"
},
// ???/?? ??
"music_progress_bar_panel": {
// 크기 변화
"anim_type": "size",
// 걸리는 시간(초)
"duration": 0,
// 시작 값
"from": [ 0, "100%" ],
// 끝 값
"to": [ "100%", "100%" ],
// 다음 애니메이션으로 연결
"next": "@rainbowpie_ui_music_player.music_progress_bar_panel_wait"
},
// ???/?? ??
"music_progress_bar_panel_wait": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": "($music_button_duration)",
// 다음 애니메이션으로 연결
"next": "@rainbowpie_ui_music_player.music_progress_bar_panel_reset",
"reset_event": "$music_button_sound"
},
// ???/?? ??
"music_progress_bar_panel_reset": {
// 크기 변화
"anim_type": "size",
// 걸리는 시간(초)
"duration": 0,
// 시작 값
"from": [ 0, "100%" ],
// 끝 값
"to": [ 0, "100%" ],
"end_event": "$music_button_sound"
},
// ???/?? ??
"music_progress_bar_panel_panel": {
// 크기 변화
"anim_type": "size",
// 걸리는 시간(초)
"duration": 0,
// 시작 값
"from": [ 0, "100%" ],
// 끝 값
"to": [ "100%", "100%" ],
"play_event": "$music_button_sound"
},
// ???/?? ??
"main_sections": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "($section_topic + '_button_toggle')",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#tab_selected"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "($section_topic + '_second_button_toggle')",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#button_selected"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#tab_selected or #button_selected)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"section_toggle_button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "25px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"section_toggle_button@common_toggles.light_ui_toggle": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": [ "100%", "25px" ],
// 오버라이드 가능한 변수
"$button_type_panel": "rainbowpie_ui_music_player.toggle_button_control",
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_locked",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_locked",
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpieui_music_player_navigation_tab",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": "$default_selector_toggle_index",
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "($section_topic + '_button_toggle')"
}
}
]
},
// ???/?? ??
"toggle_button_control": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"tab_button_text@rainbowpie_ui_common.text_label_notheme": {
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "100% - 10px", "default" ],
"max_size": [ "100% - 14px", "100% - 4px" ],
// 기준점에서 이동하는 거리
"offset": [ 10, 0 ],
// 보여줄 글자
"text": "('rainbowpie.ui.music.section.' + $section_topic)",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// ?? (R,G,B,A)
"color": "$text_color"
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: add_external_server_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_add_external_server",
// ???/?? ??
"add_external_server_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dialog_panel@rainbowpie_ui_dialog.dialog_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "#title_text",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title_bindings": [
{
// 가져올 값 이름
"binding_name": "#title_text",
// ?? ???
"binding_condition": "once"
}
],
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_add_external_server.content_panel",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_show_background": false,
// 가로/세로 크기
"size": [ 316, 162 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 8
}
},
{
// ???/?? ??
"blur_panel_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ "50% - 158px", 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"blur_panel_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "50% - 81px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"blur_layer_1@mintui_background.background_blur": {
// 오버라이드 가능한 변수
"$background_offset": [ "-100% + 316px", "-100% + 162px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ "50% - 158px", "50% - 81px" ],
// 오버라이드 가능한 변수
"$background_layer": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"mask_layer_1@mintui_background.background_mask": {
// 오버라이드 가능한 변수
"$background_offset": [ "-100% + 316px", "-100% + 162px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ "50% - 158px", "50% - 81px" ],
// 오버라이드 가능한 변수
"$background_layer": 2
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"content_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content_panel@rainbowpie_ui_dialog.content_background": {
// 가로/세로 크기
"size": [ "100%", "fill" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"main_content@add_external_server.content_panel": {
// 가로/세로 크기
"size": [ "100% - 4px", "100% - 4px" ]
}
}
]
}
},
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 1px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "100% + 1px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 가로/세로 크기
"size": [ "100%", 23 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"play@add_external_server.play_button": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": "$rainbowpie_ui_theme_dialog_content_background_alpha",
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"remove@add_external_server.remove_button": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": "$rainbowpie_ui_theme_dialog_content_background_alpha",
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"save@add_external_server.save_button": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": "$rainbowpie_ui_theme_dialog_content_background_alpha",
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: anvil_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_anvil",
// ???/?? ??
"anvil_item_slot": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item@rainbowpie_ui_inventory_and_container.container_item": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center"
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"anvil_root_panel@common.root_panel": {
// 가로/세로 크기
"size": [ 168, 161 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "inventory_selected_icon_button@common.inventory_selected_icon_button": {} },
{ "gamepad_cursor@common.gamepad_cursor_button": {} },
{ "inventory_take_progress_icon_button@common.inventory_take_progress_icon_button": {} },
{
// ???/?? ??
"inventory_ui_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 애니메이션 목록
"anims": [
"@rainbowpie_ui_animations.container_panel_exit_animation_push",
"@rainbowpie_ui_animations.container_panel_exit_animation_pop",
"@rainbowpie_ui_animations.container_panel_entrance_animation_push",
"@rainbowpie_ui_animations.container_panel_entrance_animation_pop"
],
"animation_reset_name": "screen_animation_reset",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"anvil_background_icon@rainbowpie_ui_inventory.background_icon": {
// 가로/세로 크기
"size": "$rainbowpie_ui_theme_inventory_bgicon_anvil_size",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_ui_theme_inventory_bgicon_anvil_offset",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$rainbowpie_ui_theme_inventory_bgicon_anvil_anchor",
// 기준점(어디에서 시작할지)
"anchor_from": "$rainbowpie_ui_theme_inventory_bgicon_anvil_anchor",
// 사용할 이미지 경로
"texture": "$rainbowpie_ui_theme_inventory_bgicon_anvil_texture",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_bgicon_anvil_alpha",
"fill": "$rainbowpie_ui_theme_inventory_bgicon_anvil_fill"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background_icon@rainbowpie_ui_inventory.background_icon": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 가로/세로 크기
"size": [ "100%", "14.28571428571429%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "container.repair",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border1_size": [ "2.380952380952381%", 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border2_size": [ "2.380952380952381%", 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"common_panel@common.common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 가로/세로 크기
"size": [ "100%", "100% - 14.28571428571429%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle"
}
},
{
// ???/?? ??
"top_half_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "33.54037267080745%" ], // 162x54
// 기준점에서 이동하는 거리
"offset": [ 0, "-50.31055900621118%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"text_edit_control@anvil.text_edit_control": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 가로/세로 크기
"size": [ "100% - 105.5555555555556%y", "33.33333333333333%" ],
// 오버라이드 가능한 변수
"$edit_box_indent_size": [ "100%", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"maximized_input_button@rainbowpieui_anvil.maximized_input_toggle_base": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 가로/세로 크기
"size": [ "100%y", "33.33333333333333%" ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1000,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "maximized_input",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "maximized_input",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
}
},
{
// ???/?? ??
"recipe_grid": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": [ "83%", "33.33333333333333%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-14.81481481481481%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 그리드 칸 수
"grid_dimensions": [ 5, 1 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"input_item_slot@rainbowpieui_anvil.anvil_item_slot": {
// 그리드 위치
"grid_position": [ 0, 0 ],
// 오버라이드 가능한 변수
"$item_collection_name": "anvil_input_items",
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "anvil_input",
// 오버라이드 가능한 변수
"$focus_override_right_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_right": "anvil_material"
}
},
{
// ???/?? ??
"plus": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 그리드 위치
"grid_position": [ 1, 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"plus_sign_icon@anvil.plus_sign_icon": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 가로/세로 크기
"size": [ "100%y", "72.22222222222222%" ]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"material_item_slot@rainbowpieui_anvil.anvil_item_slot": {
// 그리드 위치
"grid_position": [ 2, 0 ],
// 오버라이드 가능한 변수
"$item_collection_name": "anvil_material_items",
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "anvil_material",
// 오버라이드 가능한 변수
"$focus_override_left_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_left": "anvil_input",
// 오버라이드 가능한 변수
"$focus_override_right_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_right": "anvil_result"
}
},
{
// ???/?? ??
"yields": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 그리드 위치
"grid_position": [ 3, 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_icon@anvil.arrow_icon": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 가로/세로 크기
"size": [ "150%y", "66.66666666666667%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"cross_out_icon@anvil.cross_out_icon": {
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 가로/세로 크기
"size": [ "150%y", "66.66666666666667%" ]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"result_item_slot@rainbowpieui_anvil.anvil_item_slot": {
// 그리드 위치
"grid_position": [ 4, 0 ],
// 오버라이드 가능한 변수
"$item_collection_name": "anvil_result_items",
// 오버라이드 가능한 변수
"$button_ref": "anvil.anvil_output_slot_button",
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "anvil_result",
// 오버라이드 가능한 변수
"$focus_override_left_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_left": "anvil_material"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"cost_label_0@anvil.cost_label": {
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ],
// ?? (R,G,B,A)
"color": "$anvil_cost_fail_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#cost_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text"
},
{
// 가져올 값 이름
"binding_name": "#cost_text_red",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"cost_label_1@anvil.cost_label": {
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ],
// ?? (R,G,B,A)
"color": "$anvil_cost_success_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#cost_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text"
},
{
// 가져올 값 이름
"binding_name": "#cost_text_green",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory@rainbowpie_ui_inventory_and_container.inventory_panel_bottom_half": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "33.54037267080745%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-14.90683229813665%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar@rainbowpie_ui_inventory_and_container.hotbar_grid_template": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "11.18012422360248%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-1.863354037267081%" ]
}
}
]
}
}
]
},
// ???/?? ??
"maximized_input_dialog_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"modal_input_panel@rainbowpieui_anvil.modal_input_panel": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"maximized_input_dialog@rainbowpieui_anvil.maximized_input_dialog": {}
}
]
}
}
],
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "maximized_input",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"modal_input_panel@common.input_panel": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 100,
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_secondary_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_secondary_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_ok",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_cancel",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_up",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_up",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_down",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_down",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_left",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_left",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_right",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_right",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"maximized_input_dialog@rainbowpie_ui_dialog.dialog_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "tile.anvil.name",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_extra_controls": "rainbowpieui_anvil.maximized_input_dialog_button",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_show_close": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_anvil.maximized_input_dialog_content",
// 가로/세로 크기
"size": "$extra_large_screen_size",
"max_size": "$extra_large_max_screen_size",
// 겹치는 순서(숫자 클수록 위)
"layer": 110
},
// ???/?? ??
"maximized_input_dialog_button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"minimized_input_button@rainbowpieui_anvil.maximized_input_toggle_base": {
// 오버라이드 가능한 변수
"$toggle_focus_enabled": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.0,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color": "$rainbowpie_ui_theme_closebutton_hover_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha": "$rainbowpie_ui_theme_closebutton_hover_background_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color": "$rainbowpie_ui_theme_closebutton_pressed_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha": "$rainbowpie_ui_theme_closebutton_pressed_background_alpha",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_anvil.close_button_icon",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1001,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "minimized_input",
// 오버라이드 가능한 변수
"$button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
]
}
}
]
}
}
]
},
// ???/?? ??
"maximized_input_dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"anvil_multiline_text_edit_box@rainbowpieui_anvil.anvil_multiline_text_edit_box": {}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"anvil_multiline_text_edit_box@common.multiline_text_edit_box": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_editbox_enabled": true,
// 오버라이드 가능한 변수
"$edit_box_indent_size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100% - 4px", "100% - 4px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// ?? ?? ?
"max_length": 32500,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#property_field": "#item_name"
},
// 오버라이드 가능한 변수
"$text_edit_binding_name": "#text_box_item_name",
// 오버라이드 가능한 변수
"$place_holder_text": "Enter your content here..."
},
// ???/?? ??
"close_button_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 15, 15 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/global/close_button/close')",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_button_text_color"
},
// ???/?? ??
"maximize_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "150%", "150%" ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/global/maximize_icon')"
},
// 다른 템플릿을 가져와서 확장(상속)
"maximized_input_toggle_base@common_toggles.light_ui_toggle": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_anvil.maximize_icon",
// 오버라이드 가능한 변수
"$button_type_panel": "common_buttons.new_ui_binding_button_label",
// 오버라이드 가능한 변수
"$button_text_binding_type": "none",
// 오버라이드 가능한 변수
"$button_binding_condition": "none",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "none",
// 오버라이드 가능한 변수
"$button_text": "",
// 오버라이드 가능한 변수
"$button_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpie_anvil_maximized_input",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 1001,
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 0,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": ""
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: book_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_book",
// 다른 템플릿을 가져와서 확장(상속)
"top_tab@common_tabs.tab_top": {
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_alpha": 0.0,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_alpha": 0.2,
// 오버라이드 가능한 변수
"$tab_panel": "rainbowpie_ui_tab.tab_panel",
// 오버라이드 가능한 변수
"$toggle_tts_enabled_binding_type": "global",
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpieui_navigation_tab",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 10,
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 오버라이드 가능한 변수
"$toggle_tts_type_priority": 1001,
// 오버라이드 가능한 변수
"$toggle_tts_toggle_on_text": "",
// 오버라이드 가능한 변수
"$toggle_tts_toggle_off_text": "",
// 오버라이드 가능한 변수
"$toggle_tts_index_priority": 1002,
// 오버라이드 가능한 변수
"$tab_content": "rainbowpieui_book.top_tab_content"
},
// ???/?? ??
"top_tab_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"tab_label@rainbowpie_ui_common.text_label_notheme": {
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "default", "default" ],
// ?? ??
"text_alignment": "center",
// 보여줄 글자
"text": "$tab_text",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"maximized_input_dialog@rainbowpie_ui_dialog.dialog_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "item.writable_book.name",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_extra_controls": "rainbowpieui_book.maximized_input_dialog_button",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_show_close": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_book.maximized_input_dialog_content",
// 가로/세로 크기
"size": "$extra_large_screen_size",
"max_size": "$extra_large_max_screen_size",
// 겹치는 순서(숫자 클수록 위)
"layer": 110
},
// ???/?? ??
"maximized_input_dialog_button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"tab_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ 100, "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_navigation_tab@rainbowpieui_book.top_tab": {
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$tab_view_binding_name": "title_navigation_tab_toggle",
// 오버라이드 가능한 변수
"$tab_text": "rainbowpie.ui.book.tab.title",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 10
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"auther_navigation_tab@rainbowpieui_book.top_tab": {
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$tab_view_binding_name": "auther_navigation_tab_toggle",
// 오버라이드 가능한 변수
"$tab_text": "rainbowpie.ui.book.tab.auther",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 11
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"minimized_input_button@rainbowpieui_book.maximized_input_toggle_base": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.0,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color": "$rainbowpie_ui_theme_closebutton_hover_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha": "$rainbowpie_ui_theme_closebutton_hover_background_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color": "$rainbowpie_ui_theme_closebutton_pressed_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha": "$rainbowpie_ui_theme_closebutton_pressed_background_alpha",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_book.close_button_icon",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1001,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "minimized_input",
// 오버라이드 가능한 변수
"$button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
]
}
}
]
}
}
]
},
// ???/?? ??
"maximized_input_dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"title_text_box": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{ "title_multiline_text_edit_box@rainbowpieui_book.title_multiline_text_edit_box": {} }
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "title_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"author_text_box": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{ "auther_multiline_text_edit_box@rainbowpieui_book.auther_multiline_text_edit_box": {} }
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "auther_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"title_multiline_text_edit_box@common.multiline_text_edit_box": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_editbox_enabled": true,
// 오버라이드 가능한 변수
"$edit_box_indent_size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100% - 4px", "100% - 4px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// ?? ?? ?
"max_length": 32500,
// 오버라이드 가능한 변수
"$text_box_name": "#title_text_box",
// 오버라이드 가능한 변수
"$text_box_enabled_binding_name": "#editable",
// 오버라이드 가능한 변수
"$text_edit_box_content_binding_name": "#title_text_box_item_name",
// 오버라이드 가능한 변수
"$place_holder_text": "Enter your content here...",
// 오버라이드 가능한 변수
"$enable_profanity_filter": true
},
// 다른 템플릿을 가져와서 확장(상속)
"auther_multiline_text_edit_box@common.multiline_text_edit_box": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_editbox_enabled": true,
// 오버라이드 가능한 변수
"$edit_box_indent_size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100% - 4px", "100% - 4px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// ?? ?? ?
"max_length": 32500,
// 오버라이드 가능한 변수
"$text_box_name": "#author_text_box",
// 오버라이드 가능한 변수
"$text_box_enabled_binding_name": "#author_editable",
// 오버라이드 가능한 변수
"$text_edit_box_content_binding_name": "#author_text_box_item_name",
// 오버라이드 가능한 변수
"$place_holder_text": "Enter your content here...",
// 오버라이드 가능한 변수
"$enable_profanity_filter": true
},
// ???/?? ??
"close_button_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 15, 15 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/global/close_button/close')",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_button_text_color"
},
// ???/?? ??
"maximize_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 18, 18 ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/global/maximize_icon')"
},
// 다른 템플릿을 가져와서 확장(상속)
"maximized_input_toggle_base@common_toggles.light_ui_toggle": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_book.maximize_icon",
// 오버라이드 가능한 변수
"$button_type_panel": "common_buttons.new_ui_binding_button_label",
// 오버라이드 가능한 변수
"$button_text_binding_type": "none",
// 오버라이드 가능한 변수
"$button_binding_condition": "none",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "none",
// 오버라이드 가능한 변수
"$button_text": "",
// 오버라이드 가능한 변수
"$button_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpie_book_maximized_input",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 1001,
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 0,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": ""
},
// ???/?? ??
"book_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_content@rainbowpie_ui_common.screen_content": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_ingame_anim1": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": [
{
// ???/?? ??
"screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{ "book_screen_content@book.book_screen_content": {} }
],
// 보이기/숨기기(공간 유지)
"visible": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "maximized_input",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"subscreen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{ "maximized_input_dialog@rainbowpieui_book.maximized_input_dialog": {} }
],
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "maximized_input",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: brewing_stand_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_brewing_stand",
// 다른 템플릿을 가져와서 확장(상속)
"fuel_empty_image@brewing_stand.fuel_empty_image": {
// 기준점에서 이동하는 거리
"offset": [ 0, "-5.555555555555556%" ],
// 가로/세로 크기
"size": [ "88.88888888888889%", "88.88888888888889%" ]
},
// 다른 템플릿을 가져와서 확장(상속)
"bottle_empty_image@brewing_stand.bottle_empty_image": {
// 기준점에서 이동하는 거리
"offset": [ "5.555555555555556%", "-5.555555555555556%" ],
// 가로/세로 크기
"size": [ "88.88888888888889%", "88.88888888888889%" ]
},
// 다른 템플릿을 가져와서 확장(상속)
"brewingstand_output_item@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$cell_overlay_ref": "rainbowpieui_brewing_stand.bottle_empty_image",
// 오버라이드 가능한 변수
"$item_collection_name": "brewing_result_items"
},
// 다른 템플릿을 가져와서 확장(상속)
"brewing_stand_root_panel@common.root_panel": {
// 가로/세로 크기
"size": [ 168, 166 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "inventory_selected_icon_button@common.inventory_selected_icon_button": {} },
{ "gamepad_cursor@common.gamepad_cursor_button": {} },
{ "inventory_take_progress_icon_button@common.inventory_take_progress_icon_button": {} },
{
// ???/?? ??
"inventory_ui_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 애니메이션 목록
"anims": [
"@rainbowpie_ui_animations.container_panel_exit_animation_push",
"@rainbowpie_ui_animations.container_panel_exit_animation_pop",
"@rainbowpie_ui_animations.container_panel_entrance_animation_push",
"@rainbowpie_ui_animations.container_panel_entrance_animation_pop"
],
"animation_reset_name": "screen_animation_reset",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"brewingstand_background_icon@rainbowpie_ui_inventory.background_icon": {
// 가로/세로 크기
"size": "$rainbowpie_ui_theme_inventory_bgicon_brewingstand_size",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_ui_theme_inventory_bgicon_brewingstand_offset",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$rainbowpie_ui_theme_inventory_bgicon_brewingstand_anchor",
// 기준점(어디에서 시작할지)
"anchor_from": "$rainbowpie_ui_theme_inventory_bgicon_brewingstand_anchor",
// 사용할 이미지 경로
"texture": "$rainbowpie_ui_theme_inventory_bgicon_brewingstand_texture",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_bgicon_brewingstand_alpha",
"fill": "$rainbowpie_ui_theme_inventory_bgicon_brewingstand_fill"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background_icon@rainbowpie_ui_inventory.background_icon": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 가로/세로 크기
"size": [ "100%", "13.85542168674699%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "$container_title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border1_size": [ "2.380952380952381%", 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border2_size": [ "2.380952380952381%", 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"common_panel@common.common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 가로/세로 크기
"size": [ "100%", "100% - 13.85542168674699%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle"
}
},
{
// ???/?? ??
"brewing_panel_top_half": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "35.5421686746988%" ], // 162x59
// 기준점에서 이동하는 거리
"offset": [ 0 , "-48.79518072289157%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"brewing_stand_pictogram": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-5.084745762711864%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"brewing_input_slot": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%y", "30.50847457627119%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-30.50847457627119%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"input_grid_item@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$item_collection_name": "brewing_input_item",
// 오버라이드 가능한 변수
"$focus_override_left_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_left": "brewing_fuel"
}
}
]
}
},
{
// ???/?? ??
"brewing_output_slots": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": [ "33.33333333333333%", "30.50847457627119%" ], // 54x18
// 기준점에서 이동하는 거리
"offset": [ 0, "38.98305084745763%" ],
// 그리드 칸 수
"grid_dimensions": [ 3, 1 ],
// 목록 이름
"collection_name": "brewing_result_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"left_offset": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 그리드 위치
"grid_position": [ 0, 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"output_grid_item1@rainbowpieui_brewing_stand.brewingstand_output_item": {
// 기준점에서 이동하는 거리
"offset": [ "-27.77777777777778%", "-38.88888888888889%" ],
// 오버라이드 가능한 변수
"$focus_override_left_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_left": "brewing_fuel"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"output_grid_item2@rainbowpieui_brewing_stand.brewingstand_output_item": {
// 그리드 위치
"grid_position": [ 1, 0 ]
}
},
{
// ???/?? ??
"right_offset": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 그리드 위치
"grid_position": [ 2, 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"output_grid_item3@rainbowpieui_brewing_stand.brewingstand_output_item": {
// 기준점에서 이동하는 거리
"offset": [ "27.77777777777778%", "-38.88888888888889%" ]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"brewing_fuel_slot": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%y", "30.50847457627119%" ],
// 기준점에서 이동하는 거리
"offset": [ "-43.20987654320988%", "-30.50847457627119%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"fuel_grid_item@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$cell_overlay_ref": "rainbowpieui_brewing_stand.fuel_empty_image",
// 오버라이드 가능한 변수
"$item_collection_name": "brewing_fuel_item",
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "brewing_fuel",
// 오버라이드 가능한 변수
"$focus_override_right_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_right": "brewing_input_item0"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"brewing_arrow_empty_image@brewing_stand.brewing_arrow_empty_image": {
// 기준점에서 이동하는 거리
"offset": [ "9.876543209876543%", "-23.72881355932203%" ],
// 가로/세로 크기
"size": [ "5.555555555555556%", "47.45762711864407%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"brewing_arrow_full_image@brewing_stand.brewing_arrow_full_image": {
// 기준점에서 이동하는 거리
"offset": [ "9.876543209876543%", "-23.72881355932203%" ],
// 가로/세로 크기
"size": [ "5.555555555555556%", "47.45762711864407%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"brewing_fuel_bar_empty_image@brewing_stand.brewing_fuel_bar_empty_image": {
// 기준점에서 이동하는 거리
"offset": [ "-14.19753086419753%", "5.084745762711864%" ],
// 가로/세로 크기
"size": [ "14.81481481481481%", "10.16949152542373%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"brewing_fuel_bar_full_image@brewing_stand.brewing_fuel_bar_full_image": {
// 기준점에서 이동하는 거리
"offset": [ "-14.19753086419753%", "5.084745762711864%" ],
// 가로/세로 크기
"size": [ "13.58024691358025%", "6.779661016949153%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"bubbles_empty_image@brewing_stand.bubbles_empty_image": {
// 기준점에서 이동하는 거리
"offset": [ "-14.19753086419753%", "-23.72881355932203%" ],
// 가로/세로 크기
"size": [ "7.407407407407407%", "50.84745762711864%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"bubbles_full_image@brewing_stand.bubbles_full_image": {
// 기준점에서 이동하는 거리
"offset": [ "-14.19753086419753%", "-23.72881355932203%" ],
// 가로/세로 크기
"size": [ "7.407407407407407%", "50.84745762711864%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"brewing_fuel_pipes@brewing_stand.brewing_fuel_pipes": {
// 기준점에서 이동하는 거리
"offset": [ "-29.01234567901235%", "-8.474576271186441%" ],
// 가로/세로 크기
"size": [ "18.51851851851852%", "37.28813559322034%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"brewing_pipes@brewing_stand.brewing_pipes": {
// 기준점에서 이동하는 거리
"offset": [ 0, "5.084745762711864%" ],
// 가로/세로 크기
"size": [ "18.51851851851852%", "44.06779661016949%" ]
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory@rainbowpie_ui_inventory_and_container.inventory_panel_bottom_half": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "32.53012048192771%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-14.4578313253012%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar@rainbowpie_ui_inventory_and_container.hotbar_grid_template": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "10.8433734939759%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-1.807228915662651%" ]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: cartography_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_cartography",
// ???/?? ??
"maximized_input_dialog_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"modal_input_panel@rainbowpieui_cartography.modal_input_panel": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"maximized_input_dialog@rainbowpieui_cartography.maximized_input_dialog": {}
}
]
}
}
],
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "maximized_input",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"modal_input_panel@common.input_panel": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 100,
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_secondary_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_secondary_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_ok",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_cancel",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_up",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_up",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_down",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_down",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_left",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_left",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_right",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_right",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"maximized_input_dialog@rainbowpie_ui_dialog.dialog_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "map.name",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_extra_controls": "rainbowpieui_cartography.maximized_input_dialog_button",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_show_close": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_cartography.maximized_input_dialog_content",
// 가로/세로 크기
"size": "$extra_large_screen_size",
"max_size": "$extra_large_max_screen_size",
// 겹치는 순서(숫자 클수록 위)
"layer": 110
},
// ???/?? ??
"maximized_input_dialog_button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"minimized_input_button@rainbowpieui_cartography.maximized_input_toggle_base": {
// 오버라이드 가능한 변수
"$toggle_focus_enabled": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.0,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color": "$rainbowpie_ui_theme_closebutton_hover_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha": "$rainbowpie_ui_theme_closebutton_hover_background_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color": "$rainbowpie_ui_theme_closebutton_pressed_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha": "$rainbowpie_ui_theme_closebutton_pressed_background_alpha",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_cartography.close_button_icon",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1001,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "minimized_input",
// 오버라이드 가능한 변수
"$button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
]
}
}
]
}
}
]
},
// ???/?? ??
"maximized_input_dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"cartography_multiline_text_edit_box@rainbowpieui_cartography.cartography_multiline_text_edit_box": {}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"cartography_multiline_text_edit_box@common.multiline_text_edit_box": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_editbox_enabled": true,
// 오버라이드 가능한 변수
"$edit_box_indent_size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100% - 4px", "100% - 4px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// ?? ?? ?
"max_length": 32500,
// 오버라이드 가능한 변수
"$place_holder_text": "Enter your content here..."
},
// ???/?? ??
"close_button_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 15, 15 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/global/close_button/close')",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_button_text_color"
},
// ???/?? ??
"maximize_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 18, 18 ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/global/maximize_icon')"
},
// 다른 템플릿을 가져와서 확장(상속)
"maximized_input_toggle_base@common_toggles.light_ui_toggle": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_cartography.maximize_icon",
// 오버라이드 가능한 변수
"$button_type_panel": "common_buttons.new_ui_binding_button_label",
// 오버라이드 가능한 변수
"$button_text_binding_type": "none",
// 오버라이드 가능한 변수
"$button_binding_condition": "none",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "none",
// 오버라이드 가능한 변수
"$button_text": "",
// 오버라이드 가능한 변수
"$button_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpie_cartography_maximized_input",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 1001,
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 0,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": ""
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: chat_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_chat",
// ???/?? ??
"editable_message_text": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 애니메이션 목록
"anims": ["@rainbowpieui_chat.chat_message_panel_size_animation"],
// ?? ????
"clips_children": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#chat_visible"
},
{
// 가져올 값 이름
"binding_name": "#host_main_visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#chat_visible and (not #host_main_visible))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"message_text@rainbowpie_ui_common.editable_label": {
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
"text_box_name": "message_text",
"text_control": "message_display_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"message_display_text": {
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$chat_text_color",
"enable_profanity_filter": "$rainbowpie_ui_flag_chat_message_profanity_filter",
"localize": false,
// 가로/세로 크기
"size": [ "100%", "default" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 보여줄 글자
"text": "#item_name",
"text_tts": "#text_tts",
// ??
"font_type": "$chat_font_type",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? ?? ??
"font_scale_factor": "$chat_font_scale_factor",
"line_padding": "$chat_line_spacing",
// 애니메이션 목록
"anims": ["@rainbowpieui_chat.chat_message_panel_animation"],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_flag_chat_use_ui_font and ($chat_font_type = 'default'))",
// 오버라이드 가능한 변수
"$chat_font_type": "$rainbowpie_ui_theme_global_font_name"
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#text",
// 결과가 들어갈 속성
"target_property_name": "#item_name"
}
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"chat_color_dropdown_content@rainbowpie_ui_common.rainbowpie_dropdown_content_panel": {
// 목록 이름
"collection_name": "font_colors"
},
// ???/?? ??
"chat_settings_panel_animation": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ "200%x", 0 ],
// 끝 값
"to": [ 0, 0 ]
},
// ???/?? ??
"chat_settings_panel_hidden": {
// 위치 이동
"anim_type": "offset",
// 걸리는 시간(초)
"duration": 0,
// 끝 값
"to": [ "200%", 0 ],
// 시작 값
"from": [ "200%", 0 ],
"play_event": "button.close_chat_settings"
},
// ???/?? ??
"chat_settings_panel_hidden2": {
// 위치 이동
"anim_type": "offset",
// 걸리는 시간(초)
"duration": 0,
// 끝 값
"to": [ "200%", 0 ],
// 시작 값
"from": [ "200%", 0 ]
},
// ???/?? ??
"chat_settings_panel_hidden_animation": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ "100%x", 0 ],
"play_event": "button.close_chat_settings",
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_chat.chat_settings_panel_hidden2"
},
// 다른 템플릿을 가져와서 확장(상속)
"chat_settings_panel_hidden_animation2@rainbowpieui_chat.chat_settings_panel_hidden_animation": {
"play_event": "button.reset_chat_settings"
},
// ???/?? ??
"chat_settings_animation_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 100,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"chat_settings_background@rainbowpie_ui_common.title_background": {
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ 150, "100%" ],
// 기준점에서 이동하는 거리
"offset": [ "200%", 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 102,
"animation_reset_name": "button.open_chat_settings",
// 애니메이션 목록
"anims": [
"@rainbowpieui_chat.chat_settings_panel_hidden2",
"@rainbowpieui_chat.chat_settings_panel_hidden_animation",
"@rainbowpieui_chat.chat_settings_panel_hidden_animation2"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"header_background@rainbowpie_ui_common.text_background": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 가로/세로 크기
"size": [ "100%", 20 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 24,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title@rainbowpie_ui_common.title_label": {
// 보여줄 글자
"text": "chat.settings",
// 겹치는 순서(숫자 클수록 위)
"layer": 20
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"chat_settings_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 100,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"modal_input_panel@rainbowpieui_chat.modal_input_panel": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"chat_settings_background@rainbowpie_ui_common.title_background": {
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ 150, "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 102,
// 애니메이션 목록
"anims": [
"@rainbowpieui_chat.chat_settings_panel_animation",
"@rainbowpieui_chat.chat_settings_panel_hidden"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"modal_input_panel@rainbowpieui_chat.modal_input_panel": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"header_background@rainbowpie_ui_common.text_background": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 가로/세로 크기
"size": [ "100%", 20 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 24,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"back_button_content_panel@rainbowpie_ui_controls.back_content_panel": {
// 오버라이드 가능한 변수
"$back_button_text": "gui.exit",
// 오버라이드 가능한 변수
"$back_button_pressed_button_name": "button.close_chat_settings",
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 24
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"title@rainbowpie_ui_common.title_label": {
// 보여줄 글자
"text": "chat.settings",
// 겹치는 순서(숫자 클수록 위)
"layer": 20
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"chat_setting_scrolling_panel@chat_settings.chat_setting_scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_sliderbar_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scroll_size": [ 4, "100% - 4px" ],
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 1.5, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 0.5, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ "100% - 4px", "100% - 20px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 12
}
}
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_ok",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
}
]
}
}
]
}
}
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.close_chat_settings",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_secondary_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_secondary_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.close_chat_settings",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.close_chat_settings",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_up",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_up",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_down",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_down",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_left",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_left",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_right",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_right",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
}
]
}
}
]
},
// ???/?? ??
"maximized_input_dialog_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"modal_input_panel@rainbowpieui_chat.modal_input_panel": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"maximized_input_dialog@rainbowpieui_chat.maximized_input_dialog": {}
}
]
}
}
],
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "maximized_input",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"modal_input_panel@common.input_panel": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 100,
// 포커스 가능 여부
"focus_enabled": false,
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_secondary_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_secondary_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_ok",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_cancel",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_up",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_up",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_down",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_down",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_left",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_left",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_right",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_right",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"maximized_input_dialog@rainbowpie_ui_dialog.dialog_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "accessibility.chat.tts.textboxTitle",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_extra_controls": "rainbowpieui_chat.maximized_input_dialog_button",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_show_close": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_chat.maximized_input_dialog_content",
// 가로/세로 크기
"size": "$extra_large_screen_size",
"max_size": "$extra_large_max_screen_size",
// 겹치는 순서(숫자 클수록 위)
"layer": 110
},
// ???/?? ??
"maximized_input_dialog_button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"paste_button@chat.paste_button": {
// 포커스 이동용 ID
"focus_identifier": "paste_button",
// 왼쪽으로 이동할 대상
"focus_change_left": "FOCUS_OVERRIDE_STOP",
// 위로 이동할 대상
"focus_change_up": "FOCUS_OVERRIDE_STOP",
// 아래로 이동할 대상
"focus_change_down": "chat_multiline_text_edit_box",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.0,
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 가로/세로 크기
"size": [ "100%y", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"autocompleteback@common_buttons.light_text_button": {
// 위로 이동할 대상
"focus_change_up": "FOCUS_OVERRIDE_STOP",
// 아래로 이동할 대상
"focus_change_down": "chat_multiline_text_edit_box",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.0,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_text": "TAB▲",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.chat_autocomplete_back",
// 가로/세로 크기
"size": [ "100%y", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"autocomplete@common_buttons.light_text_button": {
// 위로 이동할 대상
"focus_change_up": "FOCUS_OVERRIDE_STOP",
// 아래로 이동할 대상
"focus_change_down": "chat_multiline_text_edit_box",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.0,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_text": "TAB▼",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.chat_autocomplete",
// 가로/세로 크기
"size": [ "100%y", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"previous@common_buttons.light_text_button": {
// 위로 이동할 대상
"focus_change_up": "FOCUS_OVERRIDE_STOP",
// 아래로 이동할 대상
"focus_change_down": "chat_multiline_text_edit_box",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.0,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_text": "▲",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.chat_previous_message",
// 가로/세로 크기
"size": [ "100%y", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"next@common_buttons.light_text_button": {
// 위로 이동할 대상
"focus_change_up": "FOCUS_OVERRIDE_STOP",
// 아래로 이동할 대상
"focus_change_down": "chat_multiline_text_edit_box",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.0,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_text": "▼",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.chat_next_message",
// 가로/세로 크기
"size": [ "100%y", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"send@common_buttons.light_text_button": {
// 오른쪽으로 이동할 대상
"focus_change_right": "FOCUS_OVERRIDE_STOP",
// 위로 이동할 대상
"focus_change_up": "FOCUS_OVERRIDE_STOP",
// 아래로 이동할 대상
"focus_change_down": "chat_multiline_text_edit_box",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.0,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_text": "Send",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.send",
// 가로/세로 크기
"size": [ "120%y", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#send_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"minimized_input_button@rainbowpieui_chat.maximized_input_toggle_base": {
// 오버라이드 가능한 변수
"$toggle_focus_enabled": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.0,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color": "$rainbowpie_ui_theme_closebutton_hover_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha": "$rainbowpie_ui_theme_closebutton_hover_background_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color": "$rainbowpie_ui_theme_closebutton_pressed_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha": "$rainbowpie_ui_theme_closebutton_pressed_background_alpha",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_chat.close_button_icon",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1001,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "minimized_input",
// 오버라이드 가능한 변수
"$button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
]
}
}
]
}
}
]
},
// ???/?? ??
"maximized_input_dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"chat_multiline_text_edit_box@rainbowpieui_chat.chat_multiline_text_edit_box": {}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"chat_multiline_text_edit_box@common.multiline_text_edit_box": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_editbox_enabled": true,
// 오버라이드 가능한 변수
"$edit_box_indent_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$focus_id": "chat_multiline_text_edit_box",
// 오버라이드 가능한 변수
"$focus_override_down": "FOCUS_OVERRIDE_STOP",
// 오버라이드 가능한 변수
"$focus_override_up": "paste_button",
// 오버라이드 가능한 변수
"$focus_override_left": "FOCUS_OVERRIDE_STOP",
// 오버라이드 가능한 변수
"$focus_override_right": "FOCUS_OVERRIDE_STOP",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100% - 4px", "100% - 4px" ],
// ?? ?? ?
"max_length": 32500,
// 오버라이드 가능한 변수
"$text_box_name": "#message_text_box",
// 오버라이드 가능한 변수
"$text_edit_box_content_binding_name": "#message_text_box_content",
// 오버라이드 가능한 변수
"$place_holder_text": "Enter your content here...",
// 오버라이드 가능한 변수
"$enable_profanity_filter": "$rainbowpie_ui_flag_input_enable_profanity_filter",
// 입력 키/버튼과 동작 연결
"button_mappings": [
// Original Mappings - defined in common.multiline_text_edit_box //
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "$text_edit_box_selected_to_button_id",
"handle_select": true,
"handle_deselect": false,
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "$text_edit_box_selected_to_button_id",
"handle_select": false,
"handle_deselect": true,
// 입력 시점(pressed 등)
"mapping_type": "global",
"consume_event": false
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "$text_edit_box_selected_to_button_id",
"handle_select": true,
"handle_deselect": false,
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "$text_edit_box_deselected_to_button_id",
"handle_select": false,
"handle_deselect": true,
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 동작을 실행할지
"to_button_id": "$text_edit_box_hovered_button_id",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "$text_edit_box_clear_from_button_id",
// 어떤 동작을 실행할지
"to_button_id": "$text_edit_box_clear_to_button_id",
"handle_select": false,
"handle_deselect": false,
// 입력 시점(pressed 등)
"mapping_type": "focused"
},
// Extra Mappings //
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_autocomplete",
// 어떤 동작을 실행할지
"to_button_id": "button.chat_autocomplete",
"handle_select": true,
"handle_deselect": false,
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_autocomplete_back",
// 어떤 동작을 실행할지
"to_button_id": "button.chat_autocomplete_back",
"handle_select": true,
"handle_deselect": false,
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_textedit_up",
// 어떤 동작을 실행할지
"to_button_id": "button.chat_previous_message",
"handle_select": true,
"handle_deselect": false,
// 입력 시점(pressed 등)
"mapping_type": "focused"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_textedit_down",
// 어떤 동작을 실행할지
"to_button_id": "button.chat_next_message",
"handle_select": true,
"handle_deselect": false,
// 입력 시점(pressed 등)
"mapping_type": "focused"
},
// Controller Mappings //
{
// 어떤 입력을 받을지
"from_button_id": "button.controller_autocomplete",
// 어떤 동작을 실행할지
"to_button_id": "button.chat_autocomplete",
"handle_select": false,
"handle_deselect": false,
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.controller_autocomplete_back",
// 어떤 동작을 실행할지
"to_button_id": "button.chat_autocomplete_back",
"handle_select": false,
"handle_deselect": false,
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.controller_textedit_up",
// 어떤 동작을 실행할지
"to_button_id": "button.chat_previous_message",
"handle_select": false,
"handle_deselect": false,
// 입력 시점(pressed 등)
"mapping_type": "focused"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.controller_textedit_down",
// 어떤 동작을 실행할지
"to_button_id": "button.chat_next_message",
"handle_select": false,
"handle_deselect": false,
// 입력 시점(pressed 등)
"mapping_type": "focused"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.controller_secondary_select",
// 어떤 동작을 실행할지
"to_button_id": "button.chat_paste_coordinates",
"handle_select": true,
"handle_deselect": false,
// 입력 시점(pressed 등)
"mapping_type": "global"
}
]
},
// ???/?? ??
"close_button_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 15, 15 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/global/close_button/close')",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_button_text_color"
},
// ???/?? ??
"maximize_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 18, 18 ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/chat/chat_maximize')"
},
// 다른 템플릿을 가져와서 확장(상속)
"maximized_input_toggle_base@common_toggles.light_ui_toggle": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_chat.maximize_icon",
// 오버라이드 가능한 변수
"$button_type_panel": "common_buttons.new_ui_binding_button_label",
// 오버라이드 가능한 변수
"$button_text_binding_type": "none",
// 오버라이드 가능한 변수
"$button_binding_condition": "none",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "none",
// 오버라이드 가능한 변수
"$button_text": "",
// 오버라이드 가능한 변수
"$button_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpie_chat_maximized_input",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 1001,
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 0,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": ""
},
// ???/?? ??
"chat_bottom_panel_back_animation": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ 0, 20 ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"chat_bottom_panel_back_animation_pop": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ 0, 20 ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"chat_bottom_panel_animation": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 20 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"chat_bottom_panel_animation_pop": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 20 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
//
"chat_bottom_background_back_animation1": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "100% - 27px" ],
// 끝 값
"to": [ 0, "100% - 7px" ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"chat_bottom_background_back_animation2": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "-100% + 27px" ],
// 끝 값
"to": [ 0, "-100% + 7px" ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"chat_bottom_background_back_animation_pop1": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "100% - 27px" ],
// 끝 값
"to": [ 0, "100% - 7px" ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"chat_bottom_background_back_animation_pop2": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "-100% + 27px" ],
// 끝 값
"to": [ 0, "-100% + 7px" ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"chat_bottom_background_animation1": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "100% - 7px" ],
// 끝 값
"to": [ 0, "100% - 27px" ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"chat_bottom_background_animation2": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "-100% + 7px" ],
// 끝 값
"to": [ 0, "-100% + 27px" ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"chat_bottom_background_animation_pop1": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "100% - 7px" ],
// 끝 값
"to": [ 0, "100% - 27px" ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"chat_bottom_background_animation_pop2": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "-100% + 7px" ],
// 끝 값
"to": [ 0, "-100% + 27px" ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// 다른 템플릿을 가져와서 확장(상속)
"top_tab@common_tabs.tab_top": {
// 오버라이드 가능한 변수
"$tab_panel": "rainbowpie_ui_tab.tab_panel",
// 오버라이드 가능한 변수
"$toggle_tts_enabled_binding_type": "global",
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpieui_navigation_tab",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 10,
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 오버라이드 가능한 변수
"$toggle_tts_type_priority": 1001,
// 오버라이드 가능한 변수
"$toggle_tts_toggle_on_text": "",
// 오버라이드 가능한 변수
"$toggle_tts_toggle_off_text": "",
// 오버라이드 가능한 변수
"$toggle_tts_index_priority": 1002,
// 오버라이드 가능한 변수
"$tab_content": "rainbowpieui_chat.top_tab_content"
},
// ???/?? ??
"top_tab_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"tab_label@rainbowpie_ui_common.text_label_notheme": {
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "default", "default" ],
// ?? ??
"text_alignment": "center",
// 보여줄 글자
"text": "$tab_text",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"second_chat_toggle_base@common_toggles.light_ui_toggle": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_type_panel": "common_buttons.new_ui_binding_button_label",
// 오버라이드 가능한 변수
"$button_text_binding_type": "none",
// 오버라이드 가능한 변수
"$button_binding_condition": "none",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "none",
// 오버라이드 가능한 변수
"$button_text": "",
// 오버라이드 가능한 변수
"$button_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpie_chat_messages_and_playerlist",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 1000,
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1000,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": ""
},
// 다른 템플릿을 가져와서 확장(상속)
"second_message_panel@rainbowpieui_chat.editable_message_text": {
// 게임 값과 연결하는 규칙 목록
"bindings": []
},
// ???/?? ??
"messages_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 오버라이드 가능한 변수
"$scrolling_content_anchor_from": "bottom_left",
// 오버라이드 가능한 변수
"$scrolling_content_anchor_to": "bottom_left",
// 목록 아이템을 자동으로 생성
"factory": {
"name": "messages_factory",
"max_children_size": 100,
// 팩토리 템플릿 매핑
"control_ids": {
"chat_screen_messages": "chat_screen_messages@rainbowpieui_chat.second_message_panel"
}
}
},
// 다른 템플릿을 가져와서 확장(상속)
"messages_scrolling_panel@common.scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 2px", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scrolling_content": "rainbowpieui_chat.messages_stack_panel",
// 오버라이드 가능한 변수
"$scroll_size": [ 5, "100%-4px" ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$jump_to_bottom_on_update": true,
// 오버라이드 가능한 변수
"$show_background": false,
// 오버라이드 가능한 변수
"$always_handle_scrolling": false
},
// ???/?? ??
"player_grid_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 29 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"sub_command_button@common_buttons.light_content_button": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ "100%", "100% - 1px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0,
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.sub_command",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#host_teleport_players_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
},
{
// 가져올 값 이름
"binding_name": "#gamertag",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#sub_command"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background@rainbowpie_ui_common.text_background": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ "100%", "100% - 1px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"player_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "#texture",
// 가로/세로 크기
"size": [ 26, 26 ],
// 기준점에서 이동하는 거리
"offset": [ 1, 0 ],
// ??? ?? ???
"texture_file_system": "#texture_source",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 가져올 값 이름
"binding_name": "#texture_source",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#texture_source",
// 결과가 들어갈 속성
"target_property_name": "#texture_file_system"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#texture_source = 'RawPath'))",
// 결과가 들어갈 속성
"target_property_name": "#is_local_picture"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#is_local_picture)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"player_image_local": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/icon_steve",
// 가로/세로 크기
"size": [ 26, 26 ],
// 기준점에서 이동하는 거리
"offset": [ 1, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#texture_source",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#texture_source = 'RawPath'))",
// 결과가 들어갈 속성
"target_property_name": "#is_local_picture"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#is_local_picture",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"player_name@rainbowpie_ui_common.title_label": {
// ?? ?? ??
"font_scale_factor": 1.4,
// ?? ??
"text_alignment": "left",
// 보여줄 글자
"text": "#gamertag",
// 가로/세로 크기
"size": [ "100% - 32px", "default" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점에서 이동하는 거리
"offset": [ 30, 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#gamertag",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
}
]
}
}
]
}
}
]
},
// ???/?? ??
"playerlist_grid": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": [ "100%", "default" ],
"grid_item_template": "rainbowpieui_chat.player_grid_item",
"grid_dimension_binding": "#players_grid_dimension",
// 목록 이름
"collection_name": "players_collection",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#players_grid_dimension"
}
]
},
// ???/?? ??
"playerlist_scrolling_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"playerlist_grid@rainbowpieui_chat.playerlist_grid": {}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"playerlist_scrolling_panel@common.scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 2px", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scrolling_content": "rainbowpieui_chat.playerlist_scrolling_content",
// 오버라이드 가능한 변수
"$scroll_size": [ 5, "100%-4px" ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$jump_to_bottom_on_update": false,
// 오버라이드 가능한 변수
"$show_background": false,
// 오버라이드 가능한 변수
"$always_handle_scrolling": false
},
// ???/?? ??
"chat_messages_and_playerlist_panel_hidden": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_82f66bc6",
// 위치 이동
"anim_type": "offset",
// 걸리는 시간(초)
"duration": 0,
// 끝 값
"to": [ "200%", 20 ],
// 시작 값
"from": [ "200%", 20 ],
"play_event": "button.open_chat_settings"
},
// ???/?? ??
"chat_messages_and_playerlist_panel_shown": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_82f66bc6",
// 위치 이동
"anim_type": "offset",
// 걸리는 시간(초)
"duration": 0,
// 끝 값
"to": [ 0, 20 ],
// 시작 값
"from": [ 0, 20 ]
},
// ???/?? ??
"chat_messages_and_playerlist_panel_hidden2": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_82f66bc6)",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 끝 값
"to": [ -150, 20 ],
// 시작 값
"from": [ 0, 20 ],
"play_event": "button.open_chat_settings"
},
// ???/?? ??
"chat_messages_and_playerlist_panel_shown2": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_82f66bc6)",
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 끝 값
"to": [ 0, 20 ],
// 시작 값
"from": [ -150, 20 ]
},
// ???/?? ??
"chat_messages_and_playerlist": {
// 완전히 제거(공간도 없음)
"ignored": "($game_pad or (not $rainbowpie_ui_feature_command_chat))",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 가로/세로 크기
"size": [ 170, "100% - 47px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 20 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 150,
"animation_reset_name": "button.close_chat_settings",
// 애니메이션 목록
"anims": [
"@rainbowpieui_chat.chat_messages_and_playerlist_panel_shown2",
"@rainbowpieui_chat.chat_messages_and_playerlist_panel_hidden2",
"@rainbowpieui_chat.chat_messages_and_playerlist_panel_shown",
"@rainbowpieui_chat.chat_messages_and_playerlist_panel_hidden"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 가로/세로 크기
"size": [ 150, "100%" ],
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_close": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "close_second_chat",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"background_content": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_content_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_dialog_content_background_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"playerlist_scrolling_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 12,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"playerlist_scrolling@rainbowpieui_chat.playerlist_scrolling_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#chat_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"tab_panel_with_content_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"tab_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 가로/세로 크기
"size": [ "100%", 22 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"chat_navigation_tab@rainbowpieui_chat.top_tab": {
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$tab_view_binding_name": "chat_navigation_tab_toggle",
// 오버라이드 가능한 변수
"$tab_text": "rainbowpie.ui.chat.tab.chat",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 10,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#chat_visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "open_second_chat",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#second_chat_opened"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not #chat_visible) and #second_chat_opened)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"playerlist_navigation_tab@rainbowpieui_chat.top_tab": {
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$tab_view_binding_name": "playerlist_navigation_tab_toggle",
// 오버라이드 가능한 변수
"$tab_text": "rainbowpie.ui.chat.tab.playerlist",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 11,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#chat_visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "open_second_chat",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#second_chat_opened"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not #chat_visible) and #second_chat_opened)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
}
}
]
}
},
{
// ???/?? ??
"content_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "100%", "100% - 22px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"playerlist_scrolling_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 12,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"playerlist_scrolling@rainbowpieui_chat.playerlist_scrolling_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "playerlist_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"messages_scrolling_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 12,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"messages_scrolling@rainbowpieui_chat.messages_scrolling_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"open_second_chat_button@rainbowpieui_chat.second_chat_toggle_base": {
// 가로/세로 크기
"size": [ 20, 25 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 20,
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 오버라이드 가능한 변수
"$button_text": "<",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1000,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "open_second_chat",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "open_second_chat",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"close_second_chat_button@rainbowpieui_chat.second_chat_toggle_base": {
// 가로/세로 크기
"size": [ 20, 25 ],
// 기준점에서 이동하는 거리
"offset": [ -150, 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 20,
// 오버라이드 가능한 변수
"$button_text": ">",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1001,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "close_second_chat",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "open_second_chat",
// 계산식/참조 값
"source_property_name": "(#toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
},
// ???/?? ??
"chat_header": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"header@rainbowpie_ui_common.screen_header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_ingame_anim1": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_title": "#back_button_text",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_title_bindings": [
{
// 가져올 값 이름
"binding_name": "#back_button_text"
}
],
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_content_panel": "rainbowpieui_chat.chat_header_content"
}
}
]
},
// ???/?? ??
"chat_header_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_panel@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", 10 ],
// 보여줄 글자
"text": "#text",
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_topbar_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#chat_title_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text"
},
{
// 가져올 값 이름
"binding_name": "#chat_title_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"chat_header_content_area@rainbowpieui_chat.chat_header_content_area": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#chat_coordinate_dropdown_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
}
]
},
// ???/?? ??
"chat_header_content_area": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", 18 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 1 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"coordinate_dropdown@chat.coordinate_dropdown": {
// 가로/세로 크기
"size": [ 100, 18 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_show_button": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_offset": [ 0, 2 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_size": [ "100%", 18 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#coordinate_type_position",
// 오버라이드 가능한 변수
"$radio_label_text": "chat.coordinateTypePosition"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#coordinate_type_facing",
// 오버라이드 가능한 변수
"$radio_label_text": "chat.coordinateTypeFacing"
}
}
]
}
},
{
// ???/?? ??
"coordinates_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c + 2px", 18 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"coordinates_background_image": {
// 이미지 표시
"type": "image",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 가로/세로 크기
"size": [ "100%c + 14px", 18 ],
"min_size": [ 160, 18 ],
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_title_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_title_background_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"coordinates_text@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", 10 ],
// 보여줄 글자
"text": "#text",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_title_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#coordinates_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text"
}
]
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"copy_coordinate_button@chat.copy_coordinate_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 가로/세로 크기
"size": [ 18, 18 ]
}
},
{
// ???/?? ??
"button_padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"paste_button@chat.paste_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 가로/세로 크기
"size": [ 18, 18 ]
}
}
]
},
// ???/?? ??
"chat_message_panel_animation": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "out_cubic",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_chat_transition_time",
// 시작 값
"from": [ "-1%", 0 ],
// 끝 값
"to": [ 0, 0 ]
},
// ???/?? ??
"chat_message_panel_size_animation": {
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "out_cubic",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_chat_transition_time",
// 시작 값
"from": [ "100%", 0 ],
// 끝 값
"to": [ "100%", "100%c" ]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: chest_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_chest",
// 다른 템플릿을 가져와서 확장(상속)
"large_chest_root_panel@common.root_panel": {
// 가로/세로 크기
"size": [ 168, 215 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "inventory_selected_icon_button@common.inventory_selected_icon_button": {} },
{ "gamepad_cursor@common.gamepad_cursor_button": {} },
{ "inventory_take_progress_icon_button@common.inventory_take_progress_icon_button": {} },
{
// ???/?? ??
"inventory_ui_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 애니메이션 목록
"anims": [
"@rainbowpie_ui_animations.container_panel_exit_animation_push",
"@rainbowpie_ui_animations.container_panel_exit_animation_pop",
"@rainbowpie_ui_animations.container_panel_entrance_animation_push",
"@rainbowpie_ui_animations.container_panel_entrance_animation_pop"
],
"animation_reset_name": "screen_animation_reset",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"chest_background_icon@rainbowpie_ui_inventory.background_icon": {
// 가로/세로 크기
"size": "$rainbowpie_ui_theme_inventory_bgicon_chestlarge_size",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_ui_theme_inventory_bgicon_chestlarge_offset",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$rainbowpie_ui_theme_inventory_bgicon_chestlarge_anchor",
// 기준점(어디에서 시작할지)
"anchor_from": "$rainbowpie_ui_theme_inventory_bgicon_chestlarge_anchor",
// 사용할 이미지 경로
"texture": "$rainbowpie_ui_theme_inventory_bgicon_chestlarge_texture",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_bgicon_chestlarge_alpha",
"fill": "$rainbowpie_ui_theme_inventory_bgicon_chestlarge_fill"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background_icon@rainbowpie_ui_inventory.background_icon": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"live_player_renderer@rainbowpie_ui_inventory.live_player_renderer": {
// 기준점에서 이동하는 거리
"offset": [ "-100%x - 2.380952380952381%", -16 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"chest_fastpick@rainbowpie_module_chest_fastpick.chest_fastpick": {
// 오버라이드 가능한 변수
"$large_chest": true,
// 오버라이드 가능한 변수
"$drop_button_size": [ "100%y", "10.23255813953488%" ],
// 오버라이드 가능한 변수
"$drop_button_offset": [ "100%x + 1.19047619047619%", "-36.27906976744186%" ],
// 오버라이드 가능한 변수
"$putin_button_size": [ "100%y", "10.23255813953488%" ],
// 오버라이드 가능한 변수
"$putin_button_offset": [ "100%x + 1.19047619047619%", "-11.16279069767442%" ],
// 오버라이드 가능한 변수
"$pickup_button_size": [ "100%y", "10.23255813953488%" ],
// 오버라이드 가능한 변수
"$pickup_button_offset": [ "100%x + 1.19047619047619%", 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 가로/세로 크기
"size": [ "100%", "10.69767441860465%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "$container_title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border1_size": [ "2.380952380952381%", 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border2_size": [ "2.380952380952381%", 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"common_panel@common.common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 가로/세로 크기
"size": [ "100%", "100% - 10.69767441860465%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle"
}
},
{
// ???/?? ??
"chest": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "50.23255813953488%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-37.67441860465116%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"1@rainbowpie_ui_inventory_and_container.container_item_stack": {
// 가로/세로 크기
"size": [ "100%", "16.66666666666667%" ],
// 오버라이드 가능한 변수
"$item_collection_name": "container_items",
// 오버라이드 가능한 변수
"$collection_index_start": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"2@rainbowpie_ui_inventory_and_container.container_item_stack": {
// 가로/세로 크기
"size": [ "100%", "16.66666666666667%" ],
// 오버라이드 가능한 변수
"$item_collection_name": "container_items",
// 오버라이드 가능한 변수
"$collection_index_start": 9
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"3@rainbowpie_ui_inventory_and_container.container_item_stack": {
// 가로/세로 크기
"size": [ "100%", "16.66666666666667%" ],
// 오버라이드 가능한 변수
"$item_collection_name": "container_items",
// 오버라이드 가능한 변수
"$collection_index_start": 18
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"4@rainbowpie_ui_inventory_and_container.container_item_stack": {
// 가로/세로 크기
"size": [ "100%", "16.66666666666667%" ],
// 오버라이드 가능한 변수
"$item_collection_name": "container_items",
// 오버라이드 가능한 변수
"$collection_index_start": 27
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"5@rainbowpie_ui_inventory_and_container.container_item_stack": {
// 가로/세로 크기
"size": [ "100%", "16.66666666666667%" ],
// 오버라이드 가능한 변수
"$item_collection_name": "container_items",
// 오버라이드 가능한 변수
"$collection_index_start": 36
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"6@rainbowpie_ui_inventory_and_container.container_item_stack": {
// 가로/세로 크기
"size": [ "100%", "16.66666666666667%" ],
// 오버라이드 가능한 변수
"$item_collection_name": "container_items",
// 오버라이드 가능한 변수
"$collection_index_start": 45
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory@rainbowpie_ui_inventory_and_container.inventory_panel_bottom_half": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "25.11627906976744%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-11.16279069767442%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar@rainbowpie_ui_inventory_and_container.hotbar_grid_template": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "8.372093023255814%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-1.395348837209302%" ]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"small_chest_root_panel@common.root_panel": {
// 가로/세로 크기
"size": [ 168, 161 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "inventory_selected_icon_button@common.inventory_selected_icon_button": {} },
{ "gamepad_cursor@common.gamepad_cursor_button": {} },
{ "inventory_take_progress_icon_button@common.inventory_take_progress_icon_button": {} },
{
// ???/?? ??
"inventory_ui_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 애니메이션 목록
"anims": [
"@rainbowpie_ui_animations.container_panel_exit_animation_push",
"@rainbowpie_ui_animations.container_panel_exit_animation_pop",
"@rainbowpie_ui_animations.container_panel_entrance_animation_push",
"@rainbowpie_ui_animations.container_panel_entrance_animation_pop"
],
"animation_reset_name": "screen_animation_reset",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"chest_background_icon@rainbowpie_ui_inventory.background_icon": {
// 가로/세로 크기
"size": "$size",
// 기준점에서 이동하는 거리
"offset": "$offset",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$anchor_to",
// 기준점(어디에서 시작할지)
"anchor_from": "$anchor_from",
// 사용할 이미지 경로
"texture": "$texture",
// ???
"alpha": "$alpha",
"fill": "$fill",
// 오버라이드 가능한 변수
"$size": "$rainbowpie_ui_theme_inventory_bgicon_chest_size",
// 오버라이드 가능한 변수
"$offset": "$rainbowpie_ui_theme_inventory_bgicon_chest_offset",
// 오버라이드 가능한 변수
"$anchor_to": "$rainbowpie_ui_theme_inventory_bgicon_chest_anchor",
// 오버라이드 가능한 변수
"$anchor_from": "$rainbowpie_ui_theme_inventory_bgicon_chest_anchor",
// 오버라이드 가능한 변수
"$texture": "$rainbowpie_ui_theme_inventory_bgicon_chest_texture",
// 오버라이드 가능한 변수
"$alpha": "$rainbowpie_ui_theme_inventory_bgicon_chest_alpha",
// 오버라이드 가능한 변수
"$fill": "$rainbowpie_ui_theme_inventory_bgicon_chest_fill",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$is_ender_chest",
// 오버라이드 가능한 변수
"$size": "$rainbowpie_ui_theme_inventory_bgicon_chestender_size",
// 오버라이드 가능한 변수
"$offset": "$rainbowpie_ui_theme_inventory_bgicon_chestender_offset",
// 오버라이드 가능한 변수
"$anchor_to": "$rainbowpie_ui_theme_inventory_bgicon_chestender_anchor",
// 오버라이드 가능한 변수
"$anchor_from": "$rainbowpie_ui_theme_inventory_bgicon_chestender_anchor",
// 오버라이드 가능한 변수
"$texture": "$rainbowpie_ui_theme_inventory_bgicon_chestender_texture",
// 오버라이드 가능한 변수
"$alpha": "$rainbowpie_ui_theme_inventory_bgicon_chestender_alpha",
// 오버라이드 가능한 변수
"$fill": "$rainbowpie_ui_theme_inventory_bgicon_chestender_fill"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_shulker_box",
// 오버라이드 가능한 변수
"$size": "$rainbowpie_ui_theme_inventory_bgicon_chestshulkerbox_size",
// 오버라이드 가능한 변수
"$offset": "$rainbowpie_ui_theme_inventory_bgicon_chestshulkerbox_offset",
// 오버라이드 가능한 변수
"$anchor_to": "$rainbowpie_ui_theme_inventory_bgicon_chestshulkerbox_anchor",
// 오버라이드 가능한 변수
"$anchor_from": "$rainbowpie_ui_theme_inventory_bgicon_chestshulkerbox_anchor",
// 오버라이드 가능한 변수
"$texture": "$rainbowpie_ui_theme_inventory_bgicon_chestshulkerbox_texture",
// 오버라이드 가능한 변수
"$alpha": "$rainbowpie_ui_theme_inventory_bgicon_chestshulkerbox_alpha",
// 오버라이드 가능한 변수
"$fill": "$rainbowpie_ui_theme_inventory_bgicon_chestshulkerbox_fill"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_barrel",
// 오버라이드 가능한 변수
"$size": "$rainbowpie_ui_theme_inventory_bgicon_chestbarrel_size",
// 오버라이드 가능한 변수
"$offset": "$rainbowpie_ui_theme_inventory_bgicon_chestbarrel_offset",
// 오버라이드 가능한 변수
"$anchor_to": "$rainbowpie_ui_theme_inventory_bgicon_chestbarrel_anchor",
// 오버라이드 가능한 변수
"$anchor_from": "$rainbowpie_ui_theme_inventory_bgicon_chestbarrel_anchor",
// 오버라이드 가능한 변수
"$texture": "$rainbowpie_ui_theme_inventory_bgicon_chestbarrel_texture",
// 오버라이드 가능한 변수
"$alpha": "$rainbowpie_ui_theme_inventory_bgicon_chestbarrel_alpha",
// 오버라이드 가능한 변수
"$fill": "$rainbowpie_ui_theme_inventory_bgicon_chestbarrel_fill"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background_icon@rainbowpie_ui_inventory.background_icon": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"live_player_renderer@rainbowpie_ui_inventory.live_player_renderer": {
// 기준점에서 이동하는 거리
"offset": [ "-100%x - 2.380952380952381%", -16 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"chest_fastpick@rainbowpie_module_chest_fastpick.chest_fastpick": {
// 오버라이드 가능한 변수
"$drop_button_size": [ "100%y", "13.66459627329193%" ],
// 오버라이드 가능한 변수
"$drop_button_offset": [ "100%x + 1.19047619047619%", "-48.4472049689441%" ],
// 오버라이드 가능한 변수
"$putin_button_size": [ "100%y", "13.66459627329193%" ],
// 오버라이드 가능한 변수
"$putin_button_offset": [ "100%x + 1.19047619047619%", "-14.90683229813665%" ],
// 오버라이드 가능한 변수
"$pickup_button_size": [ "100%y", "13.66459627329193%" ],
// 오버라이드 가능한 변수
"$pickup_button_offset": [ "100%x + 1.19047619047619%", 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 가로/세로 크기
"size": [ "100%", "14.28571428571429%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "$container_title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border1_size": [ "2.380952380952381%", 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border2_size": [ "2.380952380952381%", 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"common_panel@common.common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 가로/세로 크기
"size": [ "100%", "100% - 14.28571428571429%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle"
}
},
{
// ???/?? ??
"chest": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "33.54037267080745%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-50.31055900621118%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"1@rainbowpie_ui_inventory_and_container.container_item_stack": {
// 가로/세로 크기
"size": [ "100%", "33.33333333333333%" ],
// 오버라이드 가능한 변수
"$item_collection_name": "container_items",
// 오버라이드 가능한 변수
"$collection_index_start": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"2@rainbowpie_ui_inventory_and_container.container_item_stack": {
// 가로/세로 크기
"size": [ "100%", "33.33333333333333%" ],
// 오버라이드 가능한 변수
"$item_collection_name": "container_items",
// 오버라이드 가능한 변수
"$collection_index_start": 9
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"3@rainbowpie_ui_inventory_and_container.container_item_stack": {
// 가로/세로 크기
"size": [ "100%", "33.33333333333333%" ],
// 오버라이드 가능한 변수
"$item_collection_name": "container_items",
// 오버라이드 가능한 변수
"$collection_index_start": 18
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory@rainbowpie_ui_inventory_and_container.inventory_panel_bottom_half": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "33.54037267080745%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-14.90683229813665%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar@rainbowpie_ui_inventory_and_container.hotbar_grid_template": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "11.18012422360248%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-1.863354037267081%" ]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: command_block_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_command_block",
// ???/?? ??
"command_block_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_editbox_enabled": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_content@rainbowpie_ui_common.screen_content": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_ingame_anim1": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dialog_panel@rainbowpie_ui_dialog.dialog_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "commandBlock.genericName",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_command_block.command_block_dialog_content",
// 가로/세로 크기
"size": "$extra_large_screen_size",
"max_size": "$extra_large_max_screen_size",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #maximized_input_visible)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"maximized_input_dialog_panel@rainbowpie_ui_dialog.dialog_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "advMode.command",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_extra_controls": "rainbowpieui_command_block.maximized_input_dialog_button",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_command_block.maximized_input_dialog_content",
// 오버라이드 가능한 변수
"$close_button_to_button_id": "command_block.input_minimize",
// 가로/세로 크기
"size": "$extra_large_screen_size",
"max_size": "$extra_large_max_screen_size",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#maximized_input_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
}
]
},
// ???/?? ??
"maximized_input_dialog_button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"maximized_input_close_button": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"paste_button_rainbowpie@rainbowpieui_command_block.paste_button": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"autocompleteback@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.0,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_text": "TAB▲",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.chat_autocomplete_back",
// 가로/세로 크기
"size": [ "100%y", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"autocomplete@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.0,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_text": "TAB▼",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.chat_autocomplete",
// 가로/세로 크기
"size": [ "100%y", "100%" ]
}
}
]
}
}
]
},
// ???/?? ??
"maximized_input_dialog_content": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"maximized_command_block_text@command_block.command_block_multiline_text_edit_box": {
// 오버라이드 가능한 변수
"$edit_box_indent_size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 17,
// 가로/세로 크기
"size": [ "100% - 4px", "100% - 4px" ],
// ?? ?? ?
"max_length": 32500,
// 오버라이드 가능한 변수
"$text_box_name": "command_block.command_text",
// 오버라이드 가능한 변수
"$text_edit_box_content_binding_name": "#command_text_edit",
// 오버라이드 가능한 변수
"$place_holder_text": "Enter your command input here",
// 오버라이드 가능한 변수
"$cancel_button_id": "command_block.input_minimize",
// 오버라이드 가능한 변수
"$enable_profanity_filter": "$rainbowpie_ui_flag_input_enable_profanity_filter"
}
}
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "command_block.input_minimize",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
]
},
// ???/?? ??
"command_block_dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"left_side@command_block.left_divider_content": {
// 가로/세로 크기
"size": [ "40%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"right_side@command_block.right_divider_content": {
// 가로/세로 크기
"size": [ "60%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle"
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"plus_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100% - 2px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 가로/세로 크기
"size": [ 29, 30 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 오버라이드 가능한 변수
"$button_content": "command_block.plus_icon",
// 오버라이드 가능한 변수
"$pressed_button_name": "command_block.input_maximize",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #maximized_input_visible)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"paste_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100% - 2px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 가로/세로 크기
"size": [ 29, 30 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 오버라이드 가능한 변수
"$button_content": "command_block.paste_icon",
// 오버라이드 가능한 변수
"$pressed_button_name": "command_block.paste"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: content_log_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_content_log",
// ???/?? ??
"anim_content_log_offset": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "out_cubic",
// 걸리는 시간(초)
"duration": 0.8,
// 시작 값
"from": [ 0, "-100%" ],
// 끝 값
"to": [ 0, 0 ],
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_content_log.anim_content_log_wait"
},
// ???/?? ??
"anim_content_log_wait": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": "($content_log_item_lifetime - 0.5)",
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_content_log.anim_content_log_offset_back"
},
// ???/?? ??
"anim_content_log_offset_back": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "out_cubic",
// 걸리는 시간(초)
"duration": 0.8,
// 끝 값
"to": [ 0, "-100%" ],
// 시작 값
"from": [ 0, 0 ],
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_content_log.anim_content_log_wait"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: content_log_history_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_content_log_history",
// ???/?? ??
"content_log_history_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"header@rainbowpie_ui_common.screen_header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_title": "contentlog.history.title"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"blur_layer@mintui_background.background_blur": {
// 오버라이드 가능한 변수
"$background_offset": [ 0, "100% - 30px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ 0, "-100% + 30px" ],
// 오버라이드 가능한 변수
"$background_layer": -3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"mask_layer@mintui_background.background_mask": {
// 오버라이드 가능한 변수
"$background_offset": [ 0, "100% - 30px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ 0, "-100% + 30px" ],
// 오버라이드 가능한 변수
"$background_layer": -3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_content@rainbowpie_ui_common.screen_content": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"bottom_panel@rainbowpie_ui_common.text_background": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ "100%", "100% - 20px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"messages_scrolling_panel@content_log_history.messages_scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 가로/세로 크기
"size": [ "100%", "100% - 30px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -30 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 11
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"bottom_panel@rainbowpie_ui_common.text_background": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ "100%", 30 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 12,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"horizontal_button_stack_panel@content_log_history.horizontal_button_stack_panel": {
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "100% - 2px", "100% - 2px" ]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: credits_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_credits",
// ???/?? ??
"skip_panel_anim_offset": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "100%y" ],
// 끝 값
"to": [ 0, 0 ],
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_credits.skip_panel_anim_wait"
},
// ???/?? ??
"skip_panel_anim_wait": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 5.0,
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_credits.skip_panel_anim_offset_end"
},
// ???/?? ??
"skip_panel_anim_offset_end": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ 0, "100%y" ],
"destroy_at_end": "rainbowpieui_skip_panel"
},
// ???/?? ??
"rainbowpieui_skip_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ "100%", 24 ],
// 애니메이션 목록
"anims": [
"@rainbowpieui_credits.skip_panel_anim_offset"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"exit_credits_input_panel": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_exit",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
]
}
},
{
// ???/?? ??
"button_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100% - 6px", "100% - 2px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"middle_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"skip_button@common_buttons.light_text_form_fitting_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_form_fitting_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_exit",
// 오버라이드 가능한 변수
"$button_text": "credits.skip",
// 가로/세로 크기
"size": [ "100%c", "100%" ]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: disconnect_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_disconnect",
// ???/?? ??
"title_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_c48fd864)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"disconnect_title_text@rainbowpie_ui_common.editable_label": {
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"max_size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, -10 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
"text_box_name": "disconnect_title_text",
"text_control": "disconnect_title_display_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"disconnect_title_display_text@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", 40 ],
"max_size": [ "100% - 20px", 40 ],
// 보여줄 글자
"text": "#title_text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#title_text"
},
{
// 가져올 값 이름
"binding_name": "#tts_dialog_title",
// ?? ???
"binding_condition": "once"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#title_text",
// 결과가 들어갈 속성
"target_property_name": "#item_name"
}
],
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#tts_dialog_title": "#title_text"
}
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"disconnect_text@rainbowpie_ui_common.editable_label": {
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"max_size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, -40 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
"text_box_name": "disconnect_text",
"text_control": "disconnect_display_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"disconnect_display_text@rainbowpie_ui_common.text_label_notheme": {
// 보여줄 글자
"text": "#item_name",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#disconnect_text"
},
{
// 가져올 값 이름
"binding_name": "#tts_dialog_body",
// ?? ???
"binding_condition": "once"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#disconnect_text",
// 결과가 들어갈 속성
"target_property_name": "#item_name"
}
],
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#tts_dialog_body": "#disconnect_text"
}
}
}
]
}
}
]
},
// ???/?? ??
"realms_warning_button_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"check_store_button@disconnect.check_store_button": {
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"continue_button@disconnect.continue_button": {
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"cancel_button@disconnect.cancel_button": {
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
}
]
},
// ???/?? ??
"realms_disconnect_button_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"check_store_button@disconnect.check_store_button": {
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"ok_button@disconnect.ok_button": {
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
}
]
},
// ???/?? ??
"button_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"ok_button@disconnect.ok_button": {
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
}
]
},
// ???/?? ??
"dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_disconnect_dialog_buttons|default": "common.empty_panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content_panel@rainbowpie_ui_dialog.content_background": {
// 가로/세로 크기
"size": [ "100%", "fill" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 4px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"disconnect_text@rainbowpie_ui_common.text_label_notheme": {
// 보여줄 글자
"text": "#disconnect_text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#disconnect_text"
},
{
// 가져올 값 이름
"binding_name": "#tts_dialog_body",
// ?? ???
"binding_condition": "once"
}
],
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#tts_dialog_body": "#disconnect_text"
}
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"disconnect_title_text@rainbowpie_ui_common.text_label_notheme": {
// 보여줄 글자
"text": "#title_text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#title_text"
},
{
// 가져올 값 이름
"binding_name": "#tts_dialog_title",
// ?? ???
"binding_condition": "once"
}
],
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#tts_dialog_title": "#title_text"
}
}
}
]
}
}
]
}
},
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 1px" ],
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_localui_disconnect_dialog_buttons = 'common.empty_panel')",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "100% + 1px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button_panel@$rainbowpie_localui_disconnect_dialog_buttons": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": "$rainbowpie_ui_theme_dialog_content_background_alpha",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 가로/세로 크기
"size": [ "100%", 23 ]
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"disconnect_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@rainbowpie_ui_common.global_background": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}
},
{
// ???/?? ??
"screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_d39385b8",
// 이 안에 들어가는 부품 목록
"controls": [
{ "disconnect_screen_content@disconnect.disconnect_screen_content": {} }
]
}
},
{
// ???/?? ??
"dialog_screen": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 204, 132 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_d39385b8)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dialog_panel@rainbowpie_ui_dialog.dialog_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "disconnect.lost",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_disconnect.dialog_content",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_show_background": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_show_close": false
}
}
]
}
},
{
// ???/?? ??
"blur_panel_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ "50% - 102px", 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_d39385b8 or not $rainbowpie_ui_flag_disconnect_ui_modified)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"blur_panel_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "50% - 66px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"blur_layer_1@mintui_background.background_blur": {
// 오버라이드 가능한 변수
"$background_offset": [ "-100% + 204px", "-100% + 132px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ "50% - 102px", "50% - 66px" ],
// 오버라이드 가능한 변수
"$background_layer": 2
}
}
]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: enchanting_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_enchanting",
// 다른 템플릿을 가져와서 확장(상속)
"lapis_image@enchanting.lapis_image": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 가로/세로 크기
"size": [ "88.88888888888889%", "88.88888888888889%" ]
},
// 다른 템플릿을 가져와서 확장(상속)
"enchanting_root_panel@common.root_panel": {
// 가로/세로 크기
"size": [ 168, 168 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "inventory_selected_icon_button@common.inventory_selected_icon_button": {} },
{ "gamepad_cursor@common.gamepad_cursor_button": {} },
{ "inventory_take_progress_icon_button@common.inventory_take_progress_icon_button": {} },
{
// ???/?? ??
"inventory_ui_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 애니메이션 목록
"anims": [
"@rainbowpie_ui_animations.container_panel_exit_animation_push",
"@rainbowpie_ui_animations.container_panel_exit_animation_pop",
"@rainbowpie_ui_animations.container_panel_entrance_animation_push",
"@rainbowpie_ui_animations.container_panel_entrance_animation_pop"
],
"animation_reset_name": "screen_animation_reset",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"enchanting_background_icon@rainbowpie_ui_inventory.background_icon": {
// 가로/세로 크기
"size": "$rainbowpie_ui_theme_inventory_bgicon_enchanting_size",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_ui_theme_inventory_bgicon_enchanting_offset",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$rainbowpie_ui_theme_inventory_bgicon_enchanting_anchor",
// 기준점(어디에서 시작할지)
"anchor_from": "$rainbowpie_ui_theme_inventory_bgicon_enchanting_anchor",
// 사용할 이미지 경로
"texture": "$rainbowpie_ui_theme_inventory_bgicon_enchanting_texture",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_bgicon_enchanting_alpha",
"fill": "$rainbowpie_ui_theme_inventory_bgicon_enchanting_fill"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background_icon@rainbowpie_ui_inventory.background_icon": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 가로/세로 크기
"size": [ "100%", "13.69047619047619%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "$container_title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border1_size": [ "2.380952380952381%", 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border2_size": [ "2.380952380952381%", 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"common_panel@common.common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 가로/세로 크기
"size": [ "100%", "100% - 13.69047619047619%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle"
}
},
{
// ???/?? ??
"enchanting_panel_top_half": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "36.30952380952381%" ], // 162x61
// 기준점에서 이동하는 거리
"offset": [ 0, "-48.21428571428571%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"enchanting_book_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점에서 이동하는 거리
"offset": [ "4.938271604938272%", "-24.59016393442623%" ],
// 가로/세로 크기
"size": [ "100%y", "65.57377049180328%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"enchanting_book": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "enchanting_book_renderer",
// 겹치는 순서(숫자 클수록 위)
"layer": 13,
"animation_reset_name": "screen_animation_reset",
// 애니메이션 목록
"anims": [
"@common.screen_exit_size_animation_push",
"@common.screen_exit_size_animation_pop",
"@common.screen_entrance_size_animation_push",
"@common.screen_entrance_size_animation_pop"
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#open",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
}
]
}
},
{
// ???/?? ??
"item_grid": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 그리드 칸 수
"grid_dimensions": [ 1, 1 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점에서 이동하는 거리
"offset": [ "4.938271604938272%", "19.67213114754098%" ],
// 가로/세로 크기
"size": [ "100%y", "29.50819672131148%" ],
// 목록 이름
"collection_name": "enchanting_input_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"item_slot@rainbowpie_ui_inventory_and_container.container_item": {
// 그리드 위치
"grid_position": [ 0, 0 ],
// 오버라이드 가능한 변수
"$item_collection_name": "enchanting_input_items"
}
}
]
}
},
{
// ???/?? ??
"lapis_grid": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 그리드 칸 수
"grid_dimensions": [ 1, 1 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점에서 이동하는 거리
"offset": [ "17.28395061728395%", "19.67213114754098%" ],
// 가로/세로 크기
"size": [ "100%y", "29.50819672131148%" ],
// 목록 이름
"collection_name": "enchanting_lapis_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"lapis@rainbowpie_ui_inventory_and_container.container_item": {
// 그리드 위치
"grid_position": [ 0, 0 ],
// 오버라이드 가능한 변수
"$cell_overlay_ref": "rainbowpieui_enchanting.lapis_image",
// 오버라이드 가능한 변수
"$item_collection_name": "enchanting_lapis_items",
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "enchanting_lapis"
}
}
]
}
},
{
// ???/?? ??
"grid_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 가로/세로 크기
"size": [ "65%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dust_panel@enchanting.dust_panel": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 10
}
},
{
// ???/?? ??
"enchantments_grid": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 목록 이름
"collection_name": "#enchant_buttons",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 그리드 칸 수
"grid_dimensions": [ 1, 3 ],
"grid_item_template": "enchanting.enchant_button_panel"
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory@rainbowpie_ui_inventory_and_container.inventory_panel_bottom_half": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "32.14285714285714%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-14.28571428571429%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar@rainbowpie_ui_inventory_and_container.hotbar_grid_template": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "10.71428571428571%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-1.785714285714286%" ]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: furnace_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_furnace",
// 다른 템플릿을 가져와서 확장(상속)
"furnace_root_panel@common.root_panel": {
// 가로/세로 크기
"size": [ 168, 161 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "inventory_selected_icon_button@common.inventory_selected_icon_button": {} },
{ "gamepad_cursor@common.gamepad_cursor_button": {} },
{ "inventory_take_progress_icon_button@common.inventory_take_progress_icon_button": {} },
{
// ???/?? ??
"inventory_ui_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 애니메이션 목록
"anims": [
"@rainbowpie_ui_animations.container_panel_exit_animation_push",
"@rainbowpie_ui_animations.container_panel_exit_animation_pop",
"@rainbowpie_ui_animations.container_panel_entrance_animation_push",
"@rainbowpie_ui_animations.container_panel_entrance_animation_pop"
],
"animation_reset_name": "screen_animation_reset",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"furnace_background_icon@rainbowpie_ui_inventory.background_icon": {
// 가로/세로 크기
"size": "$size",
// 기준점에서 이동하는 거리
"offset": "$offset",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$anchor_to",
// 기준점(어디에서 시작할지)
"anchor_from": "$anchor_from",
// 사용할 이미지 경로
"texture": "$texture",
// ???
"alpha": "$alpha",
"fill": "$fill",
// 오버라이드 가능한 변수
"$size": "$rainbowpie_ui_theme_inventory_bgicon_furnace_size",
// 오버라이드 가능한 변수
"$offset": "$rainbowpie_ui_theme_inventory_bgicon_furnace_offset",
// 오버라이드 가능한 변수
"$anchor_to": "$rainbowpie_ui_theme_inventory_bgicon_furnace_anchor",
// 오버라이드 가능한 변수
"$anchor_from": "$rainbowpie_ui_theme_inventory_bgicon_furnace_anchor",
// 오버라이드 가능한 변수
"$texture": "$rainbowpie_ui_theme_inventory_bgicon_furnace_texture",
// 오버라이드 가능한 변수
"$alpha": "$rainbowpie_ui_theme_inventory_bgicon_furnace_alpha",
// 오버라이드 가능한 변수
"$fill": "$rainbowpie_ui_theme_inventory_bgicon_furnace_fill",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$is_blast_furnace",
// 오버라이드 가능한 변수
"$size": "$rainbowpie_ui_theme_inventory_bgicon_furnaceblast_size",
// 오버라이드 가능한 변수
"$offset": "$rainbowpie_ui_theme_inventory_bgicon_furnaceblast_offset",
// 오버라이드 가능한 변수
"$anchor_to": "$rainbowpie_ui_theme_inventory_bgicon_furnaceblast_anchor",
// 오버라이드 가능한 변수
"$anchor_from": "$rainbowpie_ui_theme_inventory_bgicon_furnaceblast_anchor",
// 오버라이드 가능한 변수
"$texture": "$rainbowpie_ui_theme_inventory_bgicon_furnaceblast_texture",
// 오버라이드 가능한 변수
"$alpha": "$rainbowpie_ui_theme_inventory_bgicon_furnaceblast_alpha",
// 오버라이드 가능한 변수
"$fill": "$rainbowpie_ui_theme_inventory_bgicon_furnaceblast_fill"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_smoker",
// 오버라이드 가능한 변수
"$size": "$rainbowpie_ui_theme_inventory_bgicon_furnacesmoker_size",
// 오버라이드 가능한 변수
"$offset": "$rainbowpie_ui_theme_inventory_bgicon_furnacesmoker_offset",
// 오버라이드 가능한 변수
"$anchor_to": "$rainbowpie_ui_theme_inventory_bgicon_furnacesmoker_anchor",
// 오버라이드 가능한 변수
"$anchor_from": "$rainbowpie_ui_theme_inventory_bgicon_furnacesmoker_anchor",
// 오버라이드 가능한 변수
"$texture": "$rainbowpie_ui_theme_inventory_bgicon_furnacesmoker_texture",
// 오버라이드 가능한 변수
"$alpha": "$rainbowpie_ui_theme_inventory_bgicon_furnacesmoker_alpha",
// 오버라이드 가능한 변수
"$fill": "$rainbowpie_ui_theme_inventory_bgicon_furnacesmoker_fill"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background_icon@rainbowpie_ui_inventory.background_icon": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 가로/세로 크기
"size": [ "100%", "14.28571428571429%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "$container_title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border1_size": [ "2.380952380952381%", 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border2_size": [ "2.380952380952381%", 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"common_panel@common.common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 가로/세로 크기
"size": [ "100%", "100% - 14.28571428571429%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle"
}
},
{
// ???/?? ??
"furnace_panel_top_half": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "33.54037267080745%" ], // 162x54
// 기준점에서 이동하는 거리
"offset": [ 0, "-50.31055900621118%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"furnace_input_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "50%", "100%" ], // 81x54
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%y", "29.62962962962963%" ], // 16x16
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"furnace_ingredient_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%y", "112.5%" ],
// 기준점에서 이동하는 거리
"offset": [ "-125%", "-118.75%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"ingredient_item@rainbowpie_ui_inventory_and_container.container_item": {
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 오버라이드 가능한 변수
"$item_collection_name": "furnace_ingredient_items",
// 오버라이드 가능한 변수
"$focus_id": "furnace_ingredient_item",
// 오버라이드 가능한 변수
"$focus_override_left": "FOCUS_OVERRIDE_STOP",
// 오버라이드 가능한 변수
"$focus_override_left_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_up": "FOCUS_OVERRIDE_STOP",
// 오버라이드 가능한 변수
"$focus_override_up_binding_type": "none"
}
}
]
}
},
{
// ???/?? ??
"flame_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%y", "81.25%" ],
// 기준점에서 이동하는 거리
"offset": [ "-131.25%", 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"flame_empty_image@furnace.flame_empty_image": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"flame_full_image@furnace.flame_full_image": {}
}
]
}
},
{
// ???/?? ??
"furnace_fuel_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%y", "112.5%" ],
// 기준점에서 이동하는 거리
"offset": [ "-125%", "118.75%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"fuel_item@rainbowpie_ui_inventory_and_container.container_item": {
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 오버라이드 가능한 변수
"$item_collection_name": "furnace_fuel_items",
// 오버라이드 가능한 변수
"$focus_id": "furnace_fuel_item",
// 오버라이드 가능한 변수
"$focus_override_right": "furnace_output_item",
// 오버라이드 가능한 변수
"$focus_override_right_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_left": "FOCUS_OVERRIDE_STOP",
// 오버라이드 가능한 변수
"$focus_override_left_binding_type": "none"
}
}
]
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"furnace_arrow_empty_image@furnace.furnace_arrow_empty_image": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 가로/세로 크기
"size": [ "13.58024691358025%", "27.77777777777778%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"furnace_arrow_full_image@furnace.furnace_arrow_full_image": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 가로/세로 크기
"size": [ "13.58024691358025%", "27.77777777777778%" ]
}
},
{
// ???/?? ??
"furnace_output_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "50%", "100%" ], // 81x54
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"output_item@rainbowpie_ui_inventory_and_container.container_item": {
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "100%y", "48.14814814814815%" ],
// 오버라이드 가능한 변수
"$item_renderer_panel_size": [ "100%y", "69.23076923076923%" ],
// 기준점에서 이동하는 거리
"offset": [ "24.69135802469136%", 0 ],
// 오버라이드 가능한 변수
"$item_collection_name": "furnace_output_items",
// 오버라이드 가능한 변수
"$focus_id": "furnace_output_item",
// 오버라이드 가능한 변수
"$focus_override_right_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_right": "FOCUS_OVERRIDE_STOP",
// 오버라이드 가능한 변수
"$focus_override_left_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_left": "furnace_fuel_item"
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory@rainbowpie_ui_inventory_and_container.inventory_panel_bottom_half": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "33.54037267080745%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-14.90683229813665%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar@rainbowpie_ui_inventory_and_container.hotbar_grid_template": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "11.18012422360248%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-1.863354037267081%" ]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: general_section_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_general_section",
// 다른 템플릿을 가져와서 확장(상속)
"about_button@settings_common.section_toggle_base": {
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "about_button_toggle",
// 오버라이드 가능한 변수
"$glyph_texture": "",
// 오버라이드 가능한 변수
"$glyph_color_texture": "",
// 오버라이드 가능한 변수
"$glyph_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$icon_group_name": "RainbowPie",
// 오버라이드 가능한 변수
"$icon_texture_name": "about",
// 오버라이드 가능한 변수
"$button_text": "rainbowpie.ui.settings.about.title",
// 오버라이드 가능한 변수
"$toggle_property_bag": {
// ???/??? ?
"#panel_title": "rainbowpie.ui.settings.about.title"
}
},
// ???/?? ??
"about_section": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "about_button_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"header_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 20px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100% - 32px", "100%cm + 4px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 16 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"content_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100% - 84px", "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ 3, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"label_1@rainbowpie_ui_common.text_label": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_about_verison_infomation",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100% - 44px", "default" ],
// 기준점에서 이동하는 거리
"offset": [ 42, 1 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 보여줄 글자
"text": "$mintui_pack_name",
// ?? ?? ??
"font_scale_factor": 1.5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"label_2@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100% - 44px", "default" ],
// 기준점에서 이동하는 거리
"offset": [ 42, 16 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 보여줄 글자
"text": "$rainbowpie_ui_string_about_description"
}
}
]
}
},
{
// ???/?? ??
"twilight_gif": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/assets/twilight')",
// ???? ??
"uv_size": [ 49, 48 ],
// ???? ?? ??
"uv": "@rainbowpieui_general_section.twilight_gif_animation",
"disable_anim_fast_forward": true,
// 가로/세로 크기
"size": [ 50, 50 ],
// 기준점에서 이동하는 거리
"offset": [ -3, 3 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right"
}
}
]
}
}
]
}
},
{
// ???/?? ??
"version_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_about_verison_infomation)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"version_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100% - 32px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_label@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", "default" ],
// 보여줄 글자
"text": "$mintui_pack_name",
// ?? ?? ??
"font_scale_factor": 1.5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"title_driven@rainbowpieui_settings_common.driven": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"branch@rainbowpieui_general_section.info_label": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_title": "rainbowpie.ui.about.version.branch",
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_value": "('\"' + $rainbowpieui_branch_type + '/' + $rainbowpieui_branch_name + '\"')"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"commit@rainbowpieui_general_section.info_label": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_title": "rainbowpie.ui.about.version.commit",
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_value": "('\"' + $rainbowpieui_commit_id + '\"')"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"version@rainbowpieui_general_section.info_label": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_title": "rainbowpie.ui.about.version.version",
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_value": "('\"' + $rainbowpieui_engine_version_name + '.' + $rainbowpieui_patch_version + '.' + $rainbowpieui_hotfix_version + '\"')"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"codename@rainbowpieui_general_section.info_label": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_title": "rainbowpie.ui.about.version.codename",
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_value": "('\"' + $rainbowpieui_codename + '\"')"
}
},
{
// ???/?? ??
"compatibility_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 6 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"compatibility_title_label@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", "default" ],
// 보여줄 글자
"text": "rainbowpie.ui.about.compatibility",
// ?? ?? ??
"font_scale_factor": 1.5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"compatibility_title_driven@rainbowpieui_settings_common.driven": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"subpacks@rainbowpieui_general_section.info_label": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_title": "rainbowpie.ui.about.compatibility.subpacks",
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_value": "('\"' + $rainbowpieui_version_minecraft_subpacks + '\"')"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"compatibility_variable_panel@rainbowpieui_compatibility_config.compatibility_variables": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"target@rainbowpieui_general_section.info_label": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_title": "rainbowpie.ui.about.compatibility.target",
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_value": "('\"' + $rainbowpieui_version_minecraft_target + '\"')"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"compatible@rainbowpieui_general_section.info_label": {
// 오버라이드 가능한 변수
"$minor_max": "($rainbowpieui_version_minecraft_max - ($rainbowpieui_version_minecraft_bigver + '.'))",
// 오버라이드 가능한 변수
"$minor_min": "($rainbowpieui_version_minecraft_min - ($rainbowpieui_version_minecraft_bigver + '.'))",
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_title": "rainbowpie.ui.about.compatibility.compatible",
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_value": "('\"' + $rainbowpieui_version_minecraft_bigver + '.' + $minor_min + '-' + $minor_max + '\"')"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"target_code@rainbowpieui_general_section.info_label": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_title": "rainbowpie.ui.about.compatibility.target_code",
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_value": "('\"' + $compatibility_target_version + '\"')"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"max_code@rainbowpieui_general_section.info_label": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_title": "rainbowpie.ui.about.compatibility.max_code",
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_value": "('\"' + $compatibility_max_version + '\"')"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"min_code@rainbowpieui_general_section.info_label": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_title": "rainbowpie.ui.about.compatibility.min_code",
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_value": "('\"' + $compatibility_min_version + '\"')"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"resource_pack_id@rainbowpieui_general_section.info_label": {
// 보이기/숨기기(공간 유지)
"visible": "(not ($rainbowpie_ui_flag_resourcepack_identifier = ''))",
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_title": "rainbowpie.ui.about.compatibility.resource_pack_id",
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_value": "('\"' + $rainbowpie_ui_flag_resourcepack_identifier + '\"')"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"resource_pack_displayname@rainbowpieui_general_section.info_label": {
// 보이기/숨기기(공간 유지)
"visible": "(not ($rainbowpie_ui_flag_resourcepack_displayname = ''))",
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_title": "rainbowpie.ui.about.compatibility.resource_pack_displayname",
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_value": "('\"' + $rainbowpie_ui_flag_resourcepack_displayname + '\"')"
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"info_label": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 4px" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_title|default": "INFOMATION TITLE",
// 오버라이드 가능한 변수
"$rainbowpie_localui_info_value|default": "default value",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"info_label": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"info_title_label@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "fill", "default" ],
// 보여줄 글자
"text": "$rainbowpie_localui_info_title"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"info_title_label@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "fill", "default" ],
// 보여줄 글자
"text": "$rainbowpie_localui_info_value"
}
}
]
}
}
]
},
// ???/?? ??
"twilight_gif_animation": {
// 프레임 애니메이션
"anim_type": "flip_book",
"initial_uv": [ 0, 0 ],
"frame_count": 15,
"frame_step": 15,
"fps": 5,
"reversible": false,
// 움직임 곡선
"easing": "linear"
},
// 다른 템플릿을 가져와서 확장(상속)
"global_texture_pack_header@rainbowpieui_resource_packs.resource_packs_header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_type": "global",
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_search_box_control": "global_rp_search_text_box_display_text",
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_search_box_placeholder": "rainbowpie.ui.resource_packs.search.placeholder.resource",
// 오버라이드 가능한 변수
"$selected_pack_items": "#selected_pack_items_global",
// 오버라이드 가능한 변수
"$available_pack_items": "#available_pack_items_global",
// 오버라이드 가능한 변수
"$selected_label_text": "resourcePack.selected.title.packs",
// 오버라이드 가능한 변수
"$available_label_text": "resourcePack.available.title.packs",
// 오버라이드 가능한 변수
"$show_checkbox": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "global_texture_pack_button_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"graphics_button@settings_common.section_toggle_base": {
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "graphics_button_toggle",
// 오버라이드 가능한 변수
"$glyph_texture": "textures/ui/video_glyph",
// 오버라이드 가능한 변수
"$glyph_color_texture": "textures/ui/video_glyph_color",
// 오버라이드 가능한 변수
"$glyph_size": [ 15, 12 ],
// 오버라이드 가능한 변수
"$icon_group_name": "general",
// 오버라이드 가능한 변수
"$icon_texture_name": "graphics",
// 오버라이드 가능한 변수
"$button_text": "rainbowpie.ui.settings.graphics",
// 오버라이드 가능한 변수
"$toggle_property_bag": {
// ???/??? ?
"#panel_title": "rainbowpie.ui.settings.graphics.title"
}
},
// ???/?? ??
"graphics_section": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "graphics_button_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"vsync_dropdown@settings_common.option_dropdown": {
// 오버라이드 가능한 변수
"$option_label": "options.vsync",
// 오버라이드 가능한 변수
"$dropdown_content": "general_section.vysnc_dropdown_content",
// 오버라이드 가능한 변수
"$dropdown_area": "content_area",
// 오버라이드 가능한 변수
"$dropdown_name": "vsync_dropdown",
// 오버라이드 가능한 변수
"$options_dropdown_toggle_label_binding": "#vsync_dropdown_toggle_label",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#vsync_dropdown_enabled",
// 오버라이드 가능한 변수
"$dropdown_scroll_content_size": [ "100%", "200%" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#vsync_off",
// 오버라이드 가능한 변수
"$radio_label_text": "options.vsync.off"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#vsync_on",
// 오버라이드 가능한 변수
"$radio_label_text": "options.vsync.on"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#vsync_adaptive",
// 오버라이드 가능한 변수
"$radio_label_text": "options.vsync.adaptive"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"fancy_leaves_toggle@settings_common.option_toggle": {
// 완전히 제거(공간도 없음)
"ignored": "($pocket_edition or $is_holographic)",
// 오버라이드 가능한 변수
"$option_label": "options.transparentleaves",
// 오버라이드 가능한 변수
"$option_binding_name": "#transparent_leaves",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#transparent_leaves_enabled",
// 오버라이드 가능한 변수
"$toggle_name": "transparent_leaves"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"render_clouds_toggle@settings_common.option_toggle": {
// 오버라이드 가능한 변수
"$option_label": "options.renderclouds",
// 오버라이드 가능한 변수
"$option_binding_name": "#render_clouds",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#render_clouds_enabled",
// 오버라이드 가능한 변수
"$toggle_name": "render_clouds"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"raytracing_render_distance_slider@settings_common.option_slider": {
// 오버라이드 가능한 변수
"$option_label": "#raytracing_render_distance_slider_label",
// 오버라이드 가능한 변수
"$slider_name": "raytracing_render_distance",
// 오버라이드 가능한 변수
"$slider_value_binding_name": "#raytracing_render_distance",
// 오버라이드 가능한 변수
"$slider_tts_text_value": "#raytracing_render_distance_text_value",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#raytracing_render_distance_enabled",
// 오버라이드 가능한 변수
"$option_tooltip_binding_type": "global",
// 오버라이드 가능한 변수
"$option_tooltip_area": "general_and_controls_sections",
// 오버라이드 가능한 변수
"$option_tooltip_text_binding_name": "#rtx_renderdist_performance_tooltip_text",
// 오버라이드 가능한 변수
"$option_tooltip_visible_binding_name": "#rtx_render_distance_warning_visible",
// 오버라이드 가능한 변수
"$option_tooltip_icon": "textures/ui/WarningGlyph",
// 오버라이드 가능한 변수
"$slider_steps_binding_name": "#raytracing_render_distance_steps",
// 오버라이드 가능한 변수
"$label_bindings": [
{
// 가져올 값 이름
"binding_name": "$option_label"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{ "option_generic_core@settings_common.option_generic_core": { } }
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#show_raytracing_render_distance",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"deferred_render_distance_slider@settings_common.option_slider": {
// 완전히 제거(공간도 없음)
"ignored": "($is_holographic)",
// 오버라이드 가능한 변수
"$option_label": "#deferred_render_distance_slider_label",
// 오버라이드 가능한 변수
"$slider_name": "deferred_render_distance",
// 오버라이드 가능한 변수
"$slider_value_binding_name": "#deferred_render_distance",
// 오버라이드 가능한 변수
"$slider_tts_text_value": "#deferred_render_distance_text_value",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#deferred_render_distance_enabled",
// 오버라이드 가능한 변수
"$slider_steps_binding_name": "#deferred_render_distance_steps",
// 오버라이드 가능한 변수
"$label_bindings": [
{
// 가져올 값 이름
"binding_name": "$option_label"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{ "option_generic_core@settings_common.option_generic_core": {} }
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#show_deferred_render_distance",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"render_distance_slider@settings_common.option_slider": {
// 완전히 제거(공간도 없음)
"ignored": "($is_holographic)",
// 오버라이드 가능한 변수
"$option_label": "#render_distance_slider_label",
// 오버라이드 가능한 변수
"$slider_name": "render_distance",
// 오버라이드 가능한 변수
"$slider_value_binding_name": "#render_distance",
// 오버라이드 가능한 변수
"$slider_tts_text_value": "#render_distance_text_value",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#render_distance_enabled",
// 오버라이드 가능한 변수
"$slider_steps_binding_name": "#render_distance_steps",
// 오버라이드 가능한 변수
"$label_bindings": [
{
// 가져올 값 이름
"binding_name": "$option_label"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{ "render_distance_warning@general_section.render_distance_warning": {} },
{ "option_generic_core@settings_common.option_generic_core": {} }
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#show_render_distance",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"render_distance_warning_text": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%cm + 16px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"render_distance_easter_popup@common.static_tooltip_popup_with_image_and_text": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_3520da91)",
// 가로/세로 크기
"size": [ "100% - 4px", "100%cm + 8px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 오버라이드 가능한 변수
"$tooltip_panel_offset": [ 0, 6 ],
// 오버라이드 가능한 변수
"$tooltip_popup_image": "textures/ui/WarningGlyph",
// 오버라이드 가능한 변수
"$tooltip_button_binding_type": "none",
// 오버라이드 가능한 변수
"$tooltip_button_collection_name": "",
// 오버라이드 가능한 변수
"$tooltip_text_binding_name": "Now you can use your CPU to fry eggs! :D",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#render_distance_slider_label"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#render_distance_slider_label - '96 ') = #render_distance_slider_label))",
// 결과가 들어갈 속성
"target_property_name": "#is_96_distance"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#render_distance_slider_label - '96+ ') = #render_distance_slider_label))",
// 결과가 들어갈 속성
"target_property_name": "#is_96plus_distance"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_96_distance or #is_96plus_distance)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"render_distance_popup@common.static_tooltip_popup_with_image_and_text": {
// 가로/세로 크기
"size": [ "100% - 4px", "100%cm + 8px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 오버라이드 가능한 변수
"$tooltip_panel_offset": [ 0, 6 ],
// 오버라이드 가능한 변수
"$tooltip_popup_image": "textures/ui/WarningGlyph",
// 오버라이드 가능한 변수
"$tooltip_button_binding_type": "global",
// 오버라이드 가능한 변수
"$tooltip_button_collection_name": "",
// 오버라이드 가능한 변수
"$tooltip_popup_visible_binding": "#render_distance_warning_visible",
// 오버라이드 가능한 변수
"$tooltip_text_binding_name": "#render_distance_performance_tooltip_text",
// 오버라이드 가능한 변수
"$tooltip_chevron_anchor": "top_right",
// 오버라이드 가능한 변수
"$tooltip_popup_chevron_offset": [ "-30%x", "-10px" ],
// 오버라이드 가능한 변수
"$tooltip_popup_chevron_texture": "textures/ui/tooltip_inverted_chevron",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#is_96_distance": false,
// ???/??? ?
"#is_96plus_distance": false
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#render_distance_slider_label"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#render_distance_slider_label - '96 ') = #render_distance_slider_label))",
// 결과가 들어갈 속성
"target_property_name": "#is_96_distance",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_3520da91)"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#render_distance_slider_label - '96+ ') = #render_distance_slider_label))",
// 결과가 들어갈 속성
"target_property_name": "#is_96plus_distance",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_3520da91)"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#is_96_distance or #is_96plus_distance))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#render_distance_warning_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"advanced_graphics_options_panel": {
// 완전히 제거(공간도 없음)
"ignored": "($is_holographic)",
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%", "100%c + 4px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"graphics_mode@settings_common.option_dropdown": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#graphics_mode_radio_simple",
// 오버라이드 가능한 변수
"$radio_label_text": "options.graphicsMode.simple"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#graphics_mode_radio_fancy",
// 오버라이드 가능한 변수
"$radio_label_text": "options.graphicsMode.fancy"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#graphics_mode_radio_deferred",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#graphics_mode_radio_deferred_enabled",
// 오버라이드 가능한 변수
"$radio_label_text": "options.graphicsMode.deferred"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#graphics_mode_radio_ray_traced",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#graphics_mode_radio_ray_traced_enabled",
// 오버라이드 가능한 변수
"$radio_label_text": "options.graphicsMode.rayTraced"
}
}
],
// 오버라이드 가능한 변수
"$option_label": "options.graphicsMode",
// 오버라이드 가능한 변수
"$dropdown_content": "general_section.graphics_mode_dropdown_content",
// 오버라이드 가능한 변수
"$dropdown_area": "content_area",
// 오버라이드 가능한 변수
"$dropdown_name": "graphics_mode_dropdown",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#graphics_mode_dropdown_enabled",
// 오버라이드 가능한 변수
"$options_dropdown_toggle_label_binding": "#graphics_mode_dropdown_toggle_label",
// 오버라이드 가능한 변수
"$dropdown_scroll_content_size": [ "100%", "255%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"graphics_quality_preset_mode_dropdown_content@settings_common.option_radio_dropdown_group": {
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#graphics_quality_preset_mode_dropdown_enabled",
// 오버라이드 가능한 변수
"$radio_buttons": [
{
// 다른 템플릿을 가져와서 확장(상속)
"@settings_common.radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#graphics_quality_preset_mode_radio_performance",
// 오버라이드 가능한 변수
"$radio_label_text": "options.graphicsQualityPresetMode.performance"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@settings_common.radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#graphics_quality_preset_mode_radio_visuals",
// 오버라이드 가능한 변수
"$radio_label_text": "options.graphicsQualityPresetMode.visuals"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@settings_common.radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#graphics_quality_preset_mode_radio_custom",
// 오버라이드 가능한 변수
"$radio_label_text": "options.graphicsQualityPresetMode.custom"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#graphics_mode_is_deferred",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"advanced_graphics_options_section@general_section.advanced_graphics_options_section": {}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"raytracing_button@settings_common.section_toggle_base": {
// 완전히 제거(공간도 없음)
"ignored": true,
// 오버라이드 가능한 변수
"$icon_group_name": "general",
// 오버라이드 가능한 변수
"$icon_texture_name": "raytracing",
// 오버라이드 가능한 변수
"$button_text": "options.raytracing",
// 오버라이드 가능한 변수
"$toggle_property_bag": {
// ???/??? ?
"#panel_title": "rainbowpie.ui.settings.raytracing.title"
}
},
// ???/?? ??
"raytracing_section": {
// 완전히 제거(공간도 없음)
"ignored": true,
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "raytracing_button_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"module_button@settings_common.section_toggle_base": {
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "module_button_toggle",
// 오버라이드 가능한 변수
"$glyph_texture": "",
// 오버라이드 가능한 변수
"$glyph_color_texture": "",
// 오버라이드 가능한 변수
"$glyph_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$icon_group_name": "RainbowPie",
// 오버라이드 가능한 변수
"$icon_texture_name": "module",
// 오버라이드 가능한 변수
"$button_text": "rainbowpie.ui.settings.module.title",
// 오버라이드 가능한 변수
"$toggle_property_bag": {
// ???/??? ?
"#panel_title": "rainbowpie.ui.settings.module.title"
}
},
// ???/?? ??
"module_section": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "module_button_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"module_list@rainbowpieui_module_pack.module_list": {}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"theme_button@settings_common.section_toggle_base": {
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "theme_button_toggle",
// 오버라이드 가능한 변수
"$glyph_texture": "",
// 오버라이드 가능한 변수
"$glyph_color_texture": "",
// 오버라이드 가능한 변수
"$glyph_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$icon_group_name": "RainbowPie",
// 오버라이드 가능한 변수
"$icon_texture_name": "theme",
// 오버라이드 가능한 변수
"$button_text": "rainbowpie.ui.settings.theme.title",
// 오버라이드 가능한 변수
"$toggle_property_bag": {
// ???/??? ?
"#panel_title": "rainbowpie.ui.settings.theme.title"
}
},
// ???/?? ??
"theme_section": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "theme_button_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"theme_info@rainbowpie_ui_common.text_background": {
// 가로/세로 크기
"size": [ 230, 40 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"icon_image": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 사용할 이미지 경로
"texture": "$rainbowpie_ui_theme_icon"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"label_1@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100% - 44px", 15 ],
// 기준점에서 이동하는 거리
"offset": [ 42, 1 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 보여줄 글자
"text": "$rainbowpie_ui_theme_name",
// ?? ?? ??
"font_scale_factor": 1.5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"label_2@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100% - 44px", 10 ],
// 기준점에서 이동하는 거리
"offset": [ 42, 16 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 보여줄 글자
"text": "$rainbowpie_ui_theme_author"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"label_3@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100% - 44px", 10 ],
// 기준점에서 이동하는 거리
"offset": [ 42, 27 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 보여줄 글자
"text": "$rainbowpie_ui_theme_desc"
}
}
]
}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"theme_version_toohight_warn@rainbowpie_ui_common.text_background": {
// 보이기/숨기기(공간 유지)
"visible": "($rainbowpie_ui_theme_version > $rainbowpie_ui_themesystem_version)",
// 가로/세로 크기
"size": [ 230, 14 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"theme_version_toohight@rainbowpie_ui_common.text_label": {
// ?? (R,G,B,A)
"color": [ 1.0, 1.0, 0.333 ],
// 가로/세로 크기
"size": [ "default", "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 보여줄 글자
"text": "rainbowpie.ui.themesystem.version_toohight"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"theme_version_toolow_warn@rainbowpie_ui_common.text_background": {
// 보이기/숨기기(공간 유지)
"visible": "($rainbowpie_ui_themesystem_version > $rainbowpie_ui_theme_version)",
// 가로/세로 크기
"size": [ 230, 14 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"theme_version_toolow@rainbowpie_ui_common.text_label": {
// ?? (R,G,B,A)
"color": [ 1.0, 0.333, 0.333 ],
// 가로/세로 크기
"size": [ "default", "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 보여줄 글자
"text": "rainbowpie.ui.themesystem.version_toolow"
}
}
]
}
},
{
// ???/?? ??
"padding_1": {
// 보이기/숨기기(공간 유지)
"visible": "($rainbowpie_ui_theme_version > $rainbowpie_ui_themesystem_version)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 2 ]
}
},
{
// ???/?? ??
"padding_2": {
// 보이기/숨기기(공간 유지)
"visible": "($rainbowpie_ui_themesystem_version > $rainbowpie_ui_theme_version)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"theme_preview@rainbowpie_ui_theme_preview.theme_preview": {
// 가로/세로 크기
"size": [ "100%", 120 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"theme_description_title@rainbowpie_ui_common.text_label": {
// ?? (R,G,B,A)
"color": "$body_text_color",
// 가로/세로 크기
"size": [ "default", "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 보여줄 글자
"text": "rainbowpie.ui.themesystem.description.title"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"theme_description@rainbowpie_ui_common.text_label": {
// ?? (R,G,B,A)
"color": "$body_text_color",
// 가로/세로 크기
"size": [ "100%", "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 보여줄 글자
"text": "$rainbowpie_ui_theme_description"
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"uitest_button@settings_common.section_toggle_base": {
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "uitest_button_toggle",
// 오버라이드 가능한 변수
"$glyph_texture": "",
// 오버라이드 가능한 변수
"$glyph_color_texture": "",
// 오버라이드 가능한 변수
"$glyph_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$button_text": "UI Test",
// 오버라이드 가능한 변수
"$toggle_property_bag": {
// ???/??? ?
"#panel_title": "Rainbow Pie UI Test"
}
},
// ???/?? ??
"uitest_tab_section": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "uitest_button_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_3_anim@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "Item Renderer Test"
}
},
{
// ???/?? ??
"item_renderer_test_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 20 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"item_id@common.text_edit_box": {
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ 80, 20 ],
// 오버라이드 가능한 변수
"$text_box_name": "item_id_text_box",
// 오버라이드 가능한 변수
"$text_edit_text_control": "item_id_text",
// 오버라이드 가능한 변수
"$place_holder_text": "Item ID",
// 끝에서 다시 처음으로 순환
"focus_wrap_enabled": false,
// ?? ?? ?
"max_length": 32767
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_render@rainbowpie_ui_common.item_renderer": {
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ 16, 16 ],
// 기준점에서 이동하는 거리
"offset": [ 80, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "item_id_text",
// 계산식/참조 값
"source_property_name": "#item_name",
// 결과가 들어갈 속성
"target_property_name": "#output_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#output_text * 1) * 65536)",
// 결과가 들어갈 속성
"target_property_name": "#item_id_aux"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_id_label@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점에서 이동하는 거리
"offset": [ 96, 0 ],
// 가로/세로 크기
"size": [ "default", "default" ],
// 보여줄 글자
"text": "#text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "item_id_text",
// 계산식/참조 값
"source_property_name": "#item_name",
// 결과가 들어갈 속성
"target_property_name": "#output_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('item_id_aux: ' + ((#output_text * 1) * 65536))",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
}
}
]
}
},
{
// ???/?? ??
"item_renderer_test_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 20 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"item_id@common.text_edit_box": {
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ 80, 20 ],
// 오버라이드 가능한 변수
"$text_box_name": "item_id_text_box",
// 오버라이드 가능한 변수
"$text_edit_text_control": "item_aux_id_text",
// 오버라이드 가능한 변수
"$place_holder_text": "Item Aux ID",
// 끝에서 다시 처음으로 순환
"focus_wrap_enabled": false,
// ?? ?? ?
"max_length": 32767
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_render@rainbowpie_ui_common.item_renderer": {
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ 16, 16 ],
// 기준점에서 이동하는 거리
"offset": [ 80, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "item_aux_id_text",
// 계산식/참조 값
"source_property_name": "#item_name",
// 결과가 들어갈 속성
"target_property_name": "#output_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#output_text * 1)",
// 결과가 들어갈 속성
"target_property_name": "#item_id_aux"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_id_label@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점에서 이동하는 거리
"offset": [ 96, 0 ],
// 가로/세로 크기
"size": [ "default", "default" ],
// 보여줄 글자
"text": "#text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "item_aux_id_text",
// 계산식/참조 값
"source_property_name": "#item_name",
// 결과가 들어갈 속성
"target_property_name": "#output_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('item_id: ' + ((#output_text * 1) / 65536))",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
}
}
]
}
},
{
// ???/?? ??
"spacer_3": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"title_01_str@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "String Test"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"str_test_01@rainbowpie_ui_common.text_label": {
// 오버라이드 가능한 변수
"$var_1": "TEST STRING",
// 보여줄 글자
"text": "('This is a test string variable: %s, and this is end' * $var_1)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"str_test_02@rainbowpie_ui_common.text_label": {
// 오버라이드 가능한 변수
"$var_1": "",
// 보여줄 글자
"text": "('test \u003d ')"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"str_test_03@rainbowpie_ui_common.text_label": {
// 오버라이드 가능한 변수
"$var_1": "ABCDEF0123456789",
// 보여줄 글자
"text": "('%.12s' * $var_1)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"str_test_04@rainbowpie_ui_common.text_label": {
// 오버라이드 가능한 변수
"$var_1": "message:/time set 24000",
// 보여줄 글자
"text": "('%.17s' * $var_1)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"str_test_05@rainbowpie_ui_common.text_label": {
// 오버라이드 가능한 변수
"$var_1": 114514,
// 보여줄 글자
"text": "('\"' + $var_1 + '\"')"
}
},
// 比较最小数值 2x2 (4) (By DeepSeek AI)
{
// 다른 템플릿을 가져와서 확장(상속)
"str_test_06@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "#result_text",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#a": 52,
// ???/??? ?
"#b": 64,
// ???/??? ?
"#c": 0,
// ???/??? ?
"#d": 32,
// ???/??? ?
"#result": 0
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#a > 0) * #a + (#a < 1) * 9990)",
// 결과가 들어갈 속성
"target_property_name": "#adjusted_a"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#b > 0) * #b + (#b < 1) * 9990)",
// 결과가 들어갈 속성
"target_property_name": "#adjusted_b"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#c > 0) * #c + (#c < 1) * 9990)",
// 결과가 들어갈 속성
"target_property_name": "#adjusted_c"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#d > 0) * #d + (#d < 1) * 9990)",
// 결과가 들어갈 속성
"target_property_name": "#adjusted_d"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#adjusted_a < #adjusted_b) * #adjusted_a + (#adjusted_b < #adjusted_a) * #adjusted_b)",
// 결과가 들어갈 속성
"target_property_name": "#temp_1"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#temp_1 < #adjusted_c) * #temp_1 + (#adjusted_c < #temp_1) * #adjusted_c)",
// 결과가 들어갈 속성
"target_property_name": "#temp_2"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#temp_2 < #adjusted_d) * #temp_2 + (#adjusted_d < #temp_2) * #adjusted_d)",
// 결과가 들어갈 속성
"target_property_name": "#result"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('zz' + #result)",
// 결과가 들어갈 속성
"target_property_name": "#result_text"
}
]
}
},
// 比较最小数值 3x3 (9) (By DeepSeek AI)
{
// 다른 템플릿을 가져와서 확장(상속)
"str_test_07@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "#result_text",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#a": 128,
// ???/??? ?
"#b": 0,
// ???/??? ?
"#c": 0,
// ???/??? ?
"#d": 0,
// ???/??? ?
"#e": 0,
// ???/??? ?
"#f": 0,
// ???/??? ?
"#g": 0,
// ???/??? ?
"#h": 0,
// ???/??? ?
"#i": 0,
// ???/??? ?
"#result": -1
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#a > 0) * #a + (#a < 1) * 9990)",
// 결과가 들어갈 속성
"target_property_name": "#adjusted_a"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#b > 0) * #b + (#b < 1) * 9990)",
// 결과가 들어갈 속성
"target_property_name": "#adjusted_b"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#c > 0) * #c + (#c < 1) * 9990)",
// 결과가 들어갈 속성
"target_property_name": "#adjusted_c"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#d > 0) * #d + (#d < 1) * 9990)",
// 결과가 들어갈 속성
"target_property_name": "#adjusted_d"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#e > 0) * #e + (#e < 1) * 9990)",
// 결과가 들어갈 속성
"target_property_name": "#adjusted_e"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#f > 0) * #f + (#f < 1) * 9990)",
// 결과가 들어갈 속성
"target_property_name": "#adjusted_f"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#g > 0) * #g + (#g < 1) * 9990)",
// 결과가 들어갈 속성
"target_property_name": "#adjusted_g"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#h > 0) * #h + (#h < 1) * 9990)",
// 결과가 들어갈 속성
"target_property_name": "#adjusted_h"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#i > 0) * #i + (#i < 1) * 9990)",
// 결과가 들어갈 속성
"target_property_name": "#adjusted_i"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#adjusted_a < #adjusted_b) * #adjusted_a + (#adjusted_b < #adjusted_a) * #adjusted_b + (#adjusted_a = #adjusted_b) * #adjusted_a)",
// 결과가 들어갈 속성
"target_property_name": "#temp_1"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#temp_1 < #adjusted_c) * #temp_1 + (#adjusted_c < #temp_1) * #adjusted_c + (#temp_1 = #adjusted_c) * #temp_1)",
// 결과가 들어갈 속성
"target_property_name": "#temp_2"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#temp_2 < #adjusted_d) * #temp_2 + (#adjusted_d < #temp_2) * #adjusted_d + (#temp_2 = #adjusted_d) * #temp_2)",
// 결과가 들어갈 속성
"target_property_name": "#temp_3"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#temp_3 < #adjusted_e) * #temp_3 + (#adjusted_e < #temp_3) * #adjusted_e + (#temp_3 = #adjusted_e) * #temp_3)",
// 결과가 들어갈 속성
"target_property_name": "#temp_4"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#temp_4 < #adjusted_f) * #temp_4 + (#adjusted_f < #temp_4) * #adjusted_f + (#temp_4 = #adjusted_f) * #temp_4)",
// 결과가 들어갈 속성
"target_property_name": "#temp_5"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#temp_5 < #adjusted_g) * #temp_5 + (#adjusted_g < #temp_5) * #adjusted_g + (#temp_5 = #adjusted_g) * #temp_5)",
// 결과가 들어갈 속성
"target_property_name": "#temp_6"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#temp_6 < #adjusted_h) * #temp_6 + (#adjusted_h < #temp_6) * #adjusted_h + (#temp_6 = #adjusted_h) * #temp_6)",
// 결과가 들어갈 속성
"target_property_name": "#temp_7"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#temp_7 < #adjusted_i) * #temp_7 + (#adjusted_i < #temp_7) * #adjusted_i + (#temp_7 = #adjusted_i) * #temp_7)",
// 결과가 들어갈 속성
"target_property_name": "#result"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('zz' + #result)",
// 결과가 들어갈 속성
"target_property_name": "#result_text"
}
]
}
},
// 判断奇数偶数
// 0 = 奇数
// 1 = 偶数
{
// 다른 템플릿을 가져와서 확장(상속)
"str_test_08@rainbowpie_ui_common.text_label": {
// 오버라이드 가능한 변수
"$var_1": 5,
// 오버라이드 가능한 변수
"$var_2": "($var_1 - 2 * ($var_1 / 2))",
// 보여줄 글자
"text": "('\"' + $var_2 + '\"')"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"str_test_09@rainbowpie_ui_common.text_label": {
// 오버라이드 가능한 변수
"$var_1": false,
// 오버라이드 가능한 변수
"$var_2": true,
// 보여줄 글자
"text": "('\"' + $var_1 + '\"')"
}
},
{
// ???/?? ??
"spacer_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"title_1_anim@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "UI Animation Test"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_linear@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "linear"
}
},
{
// ???/?? ??
"spacer_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_spring@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "spring"
}
},
{
// ???/?? ??
"spacer_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_in_quad@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "in_quad"
}
},
{
// ???/?? ??
"spacer_3": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_out_quad@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "out_quad"
}
},
{
// ???/?? ??
"spacer_4": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_in_out_quad@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "in_out_quad"
}
},
{
// ???/?? ??
"spacer_5": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_in_cubic@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "in_cubic"
}
},
{
// ???/?? ??
"spacer_6": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_out_cubic@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "out_cubic"
}
},
{
// ???/?? ??
"spacer_7": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_in_out_cubic@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "in_out_cubic"
}
},
{
// ???/?? ??
"spacer_8": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_in_quart@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "in_quart"
}
},
{
// ???/?? ??
"spacer_9": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_out_quart@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "out_quart"
}
},
{
// ???/?? ??
"spacer_10": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_in_out_quart@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "in_out_quart"
}
},
{
// ???/?? ??
"spacer_11": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_in_quint@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "in_quint"
}
},
{
// ???/?? ??
"spacer_12": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_out_quint@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "out_quint"
}
},
{
// ???/?? ??
"spacer_13": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_in_out_quint@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "in_out_quint"
}
},
{
// ???/?? ??
"spacer_14": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_in_sine@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "in_sine"
}
},
{
// ???/?? ??
"spacer_15": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_out_sine@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "out_sine"
}
},
{
// ???/?? ??
"spacer_16": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_in_out_sine@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "in_out_sine"
}
},
{
// ???/?? ??
"spacer_17": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_in_expo@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "in_expo"
}
},
{
// ???/?? ??
"spacer_18": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_out_expo@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "out_expo"
}
},
{
// ???/?? ??
"spacer_19": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_in_out_expo@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "in_out_expo"
}
},
{
// ???/?? ??
"spacer_20": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_in_circ@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "in_circ"
}
},
{
// ???/?? ??
"spacer_21": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_out_circ@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "out_circ"
}
},
{
// ???/?? ??
"spacer_22": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_in_out_circ@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "in_out_circ"
}
},
{
// ???/?? ??
"spacer_23": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_in_bounce@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "in_bounce"
}
},
{
// ???/?? ??
"spacer_24": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_out_bounce@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "out_bounce"
}
},
{
// ???/?? ??
"spacer_25": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_in_out_bounce@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "in_out_bounce"
}
},
{
// ???/?? ??
"spacer_26": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_in_back@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "in_back"
}
},
{
// ???/?? ??
"spacer_27": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_out_back@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "out_back"
}
},
{
// ???/?? ??
"spacer_28": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_in_out_back@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "in_out_back"
}
},
{
// ???/?? ??
"spacer_29": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_in_elastic@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "in_elastic"
}
},
{
// ???/?? ??
"spacer_30": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_out_elastic@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "out_elastic"
}
},
{
// ???/?? ??
"spacer_31": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anim_test_in_out_elastic@rainbowpieui_general_section.anim_test": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing": "in_out_elastic"
}
},
{
// ???/?? ??
"spacer_32": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
}
]
},
// ???/?? ??
"anim_test": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_animtest_easing|default": "linear",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"anim_test_buttons": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", 20 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"play@settings_common.action_button": {
// 가로/세로 크기
"size": [ 50, 20 ],
// 오버라이드 가능한 변수
"$pressed_button_name": "('rainbowpieui.settings_uitest_anim_play_' + $rainbowpie_localui_animtest_easing)",
// 오버라이드 가능한 변수
"$button_text": "PLAY"
}
},
{
// ???/?? ??
"spacer_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"reset@settings_common.action_button": {
// 가로/세로 크기
"size": [ 50, 20 ],
// 오버라이드 가능한 변수
"$pressed_button_name": "('rainbowpieui.settings_uitest_anim_reset_' + $rainbowpie_localui_animtest_easing)",
// 오버라이드 가능한 변수
"$button_text": "RESET"
}
},
{
// ???/?? ??
"spacer_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 1 ]
}
},
{
// ???/?? ??
"title_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "default", "default" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 보여줄 글자
"text": "$rainbowpie_localui_animtest_easing",
// ?? ?? ??
"font_scale_factor": 1.2,
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
}
]
}
},
{
// ???/?? ??
"anim_test": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ "100%", 16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"dot": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ 16, 16 ],
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_button_background_hover_color",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
"animation_reset_name": "('rainbowpieui.settings_uitest_anim_reset_' + $rainbowpie_localui_animtest_easing)",
// 애니메이션 목록
"anims": [
"@rainbowpieui_general_section.ui_test_animation"
],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"title@rainbowpie_ui_common.text_label_notheme": {
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 보여줄 글자
"text": "$rainbowpie_localui_animtest_easing",
// ?? (R,G,B,A)
"color": [ 0.7, 0.7, 0.7 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
}
]
},
// ???/?? ??
"ui_test_animation": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_localui_animtest_easing",
// 걸리는 시간(초)
"duration": 2,
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ "100% - 16px", 0 ],
"play_event": "('rainbowpieui.settings_uitest_anim_play_' + $rainbowpie_localui_animtest_easing)"
},
// 다른 템플릿을 가져와서 확장(상속)
"worldtown_radio_visuals_unchecked@worldtown_radio_visuals": {
},
// 다른 템플릿을 가져와서 확장(상속)
"worldtown_radio_visuals_checked@worldtown_radio_visuals": {
// 오버라이드 가능한 변수
"$selected": true
},
// 다른 템플릿을 가져와서 확장(상속)
"worldtown_radio_visuals_unchecked_locked@worldtown_radio_visuals": {
// 오버라이드 가능한 변수
"$alpha": 0.5
},
// 다른 템플릿을 가져와서 확장(상속)
"worldtown_radio_visuals_checked_locked@worldtown_radio_visuals": {
// 오버라이드 가능한 변수
"$alpha": 0.5,
// 오버라이드 가능한 변수
"$selected": true
},
// 다른 템플릿을 가져와서 확장(상속)
"worldtown_radio_visuals_unchecked_hover@worldtown_radio_visuals": {
// 오버라이드 가능한 변수
"$hovered": true
},
// 다른 템플릿을 가져와서 확장(상속)
"worldtown_radio_visuals_checked_hover@worldtown_radio_visuals": {
// 오버라이드 가능한 변수
"$hovered": true
},
// ???/?? ??
"worldtown_radio_visuals": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 16 ],
// 오버라이드 가능한 변수
"$alpha|default": 1.0,
// 오버라이드 가능한 변수
"$radio_label_bindings|default": [],
// 오버라이드 가능한 변수
"$radio_label_color|default": "$main_header_text_color",
// 오버라이드 가능한 변수
"$radio_label_font_type|default": "default",
// 오버라이드 가능한 변수
"$no_label|default": false,
// 오버라이드 가능한 변수
"$selected|default": false,
// 오버라이드 가능한 변수
"$hovered|default": false,
// Must be start with | and end with |
"$worldtown_supported_languages": "|English (United States)|English (United Kingdom)|Deutsch (Deutschland)|Español (España)|Español (México)|Français (France)|Français (Canada)|Italiano (Italia)|日本語 (日本)|한국어 (대한민국)|Português (Brasil)|Português (Portugal)|Русский (Россия)|中文(简体)|中文(繁體)|Nederlands (Nederland)|Български (България)|Čeština (Česko)|Dansk (Danmark)|Ελληνικά (Ελλάδα)|Suomi (Suomi)|Magyar (Magyarország)|Indonesia (Indonesia)|Norsk bokmål (Norge)|Polski (Polska)|Slovenčina (Slovensko)|Svenska (Sverige)|Türkçe (Türkiye)|Українська (Україна)|Tiếng Việt (Việt Nam)|",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"radio_btbar": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 완전히 제거(공간도 없음)
"ignored": "(not $selected and not $hovered)",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ 2, "100% + 1px" ],
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_this_btbar_color",
// ???
"alpha": "$rainbowpie_localui_this_btbar_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "((not $selected) and $hovered)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_btbar_color": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_btbar_alpha": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_alpha"
},
{
// 이 조건이 맞으면 적용
"requires": "($selected and $hovered)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_btbar_color": "$rainbowpie_ui_theme_toggle_background_checked_hover_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_btbar_alpha": "$rainbowpie_ui_theme_toggle_background_checked_hover_btbar_alpha"
},
{
// 이 조건이 맞으면 적용
"requires": "($selected)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_btbar_color": "$rainbowpie_ui_theme_toggle_background_checked_default_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_btbar_alpha": "$rainbowpie_ui_theme_toggle_background_checked_default_btbar_alpha"
}
]
}
},
{
// ???/?? ??
"radio_background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", "100% + 1px" ],
// 완전히 제거(공간도 없음)
"ignored": "(not $selected and not $hovered)",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_this_background_color",
// ???
"alpha": "$rainbowpie_localui_this_background_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "((not $selected) and $hovered)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_background_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_background_alpha": 0.5
},
{
// 이 조건이 맞으면 적용
"requires": "($selected and $hovered)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_background_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_background_alpha": 0.4
},
{
// 이 조건이 맞으면 적용
"requires": "($selected)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_background_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_background_alpha": 0.4
}
]
}
},
{
// ???/?? ??
"worldtown_flag": {
// 이미지 표시
"type": "image",
// ???
"alpha": "$alpha",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점에서 이동하는 거리
"offset": [ 4, 0 ],
// 가로/세로 크기
"size": [ 20, 20 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#language_description",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// ?? ???
"binding_condition": "once",
// 목록 이름
"binding_collection_name": "languages"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "($rainbowpie_ui_path_home + '/flags/worldtown/' + #language_description)",
// 결과가 들어갈 속성
"target_property_name": "#texture"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('|' + #language_description + '|')",
// 결과가 들어갈 속성
"target_property_name": "#language_description_formatted"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (($worldtown_supported_languages - #language_description_formatted) = $worldtown_supported_languages))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"worldtown_flag_unknown": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/flags/worldtown/unknown')",
// ???
"alpha": "$alpha",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점에서 이동하는 거리
"offset": [ 4, 0 ],
// 가로/세로 크기
"size": [ 20, 20 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#language_description",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// ?? ???
"binding_condition": "once",
// 목록 이름
"binding_collection_name": "languages"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('|' + #language_description + '|')",
// 결과가 들어갈 속성
"target_property_name": "#language_description_formatted"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(($worldtown_supported_languages - #language_description_formatted) = $worldtown_supported_languages)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"radio_label": {
// 완전히 제거(공간도 없음)
"ignored": "($no_label)",
// 글자 표시
"type": "label",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 보여줄 글자
"text": "#language_description",
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$radio_label_color",
// 기준점에서 이동하는 거리
"offset": [ 26, 0 ],
// 가로/세로 크기
"size": [ "100% - 16px", "default" ],
// ???
"alpha": "$alpha",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#language_description",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// ?? ???
"binding_condition": "once",
// 목록 이름
"binding_collection_name": "languages"
}
],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"worldtown_language_grid_item@settings_common.radio_with_label": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpieui_general_section.worldtown_radio_visuals_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpieui_general_section.worldtown_radio_visuals_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpieui_general_section.worldtown_radio_visuals_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpieui_general_section.worldtown_radio_visuals_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpieui_general_section.worldtown_radio_visuals_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpieui_general_section.worldtown_radio_visuals_unchecked_locked",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpieui_general_section.worldtown_radio_visuals_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpieui_general_section.worldtown_radio_visuals_checked_locked",
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#language_initial_selected",
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_binding_type": "collection",
// 오버라이드 가능한 변수
"$toggle_name": "languages",
// 오버라이드 가능한 변수
"$toggle_grid_collection_name": "languages",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#default_focus_precedence",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// ?? ???
"binding_condition": "visible",
// 목록 이름
"binding_collection_name": "languages"
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: grindstone_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_grindstone",
// 다른 템플릿을 가져와서 확장(상속)
"grindstone_root_panel@common.root_panel": {
// 가로/세로 크기
"size": [ 168, 161 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "inventory_selected_icon_button@common.inventory_selected_icon_button": {} },
{ "gamepad_cursor@common.gamepad_cursor_button": {} },
{ "inventory_take_progress_icon_button@common.inventory_take_progress_icon_button": {} },
{
// ???/?? ??
"inventory_ui_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 애니메이션 목록
"anims": [
"@rainbowpie_ui_animations.container_panel_exit_animation_push",
"@rainbowpie_ui_animations.container_panel_exit_animation_pop",
"@rainbowpie_ui_animations.container_panel_entrance_animation_push",
"@rainbowpie_ui_animations.container_panel_entrance_animation_pop"
],
"animation_reset_name": "screen_animation_reset",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"grindstone_background_icon@rainbowpie_ui_inventory.background_icon": {
// 가로/세로 크기
"size": "$rainbowpie_ui_theme_inventory_bgicon_grindstone_size",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_ui_theme_inventory_bgicon_grindstone_offset",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$rainbowpie_ui_theme_inventory_bgicon_grindstone_anchor",
// 기준점(어디에서 시작할지)
"anchor_from": "$rainbowpie_ui_theme_inventory_bgicon_grindstone_anchor",
// 사용할 이미지 경로
"texture": "$rainbowpie_ui_theme_inventory_bgicon_grindstone_texture",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_bgicon_grindstone_alpha",
"fill": "$rainbowpie_ui_theme_inventory_bgicon_grindstone_fill"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background_icon@rainbowpie_ui_inventory.background_icon": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 가로/세로 크기
"size": [ "100%", "14.28571428571429%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "container.repairAndDisenchant",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border1_size": [ "2.380952380952381%", 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border2_size": [ "2.380952380952381%", 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"common_panel@common.common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 가로/세로 크기
"size": [ "100%", "100% - 14.28571428571429%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle"
}
},
{
// ???/?? ??
"top_half_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "33.54037267080745%" ], // 162x54
// 기준점에서 이동하는 거리
"offset": [ 0, "-50.31055900621118%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"grindstone_slots_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "55.55555555555556%", "100%" ], // 90x54 (56)
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"grindstone_middle_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "20%", "75.92592592592593%" ], // 18x41
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"input_item_slot@rainbowpie_ui_inventory_and_container.container_item": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 가로/세로 크기
"size": [ "100%y", "43.90243902439024%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "2.439024390243902%" ],
// 오버라이드 가능한 변수
"$item_collection_name": "grindstone_input_items",
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "grindstone_input",
// 오버라이드 가능한 변수
"$focus_override_down_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_down": "grindstone_additional",
// 오버라이드 가능한 변수
"$focus_override_right_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_right": "grindstone_result"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"additional_item_slot@rainbowpie_ui_inventory_and_container.container_item": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ "100%y", "43.90243902439024%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-2.439024390243902%" ],
// 오버라이드 가능한 변수
"$item_collection_name": "grindstone_additional_items",
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "grindstone_additional",
// 오버라이드 가능한 변수
"$focus_override_up_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_up": "grindstone_input",
// 오버라이드 가능한 변수
"$focus_override_right_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_right": "grindstone_result"
}
}
]
}
},
{
// ???/?? ??
"yields": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "24.44444444444444%", "27.77777777777778%" ], // 22x15
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_icon@grindstone.arrow_icon": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"cross_out_icon@grindstone.cross_out_icon": {
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"result_item_slot@rainbowpie_ui_inventory_and_container.container_item": {
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "100%y", "33.33333333333333%" ],
// 오버라이드 가능한 변수
"$item_collection_name": "grindstone_result_items",
// 오버라이드 가능한 변수
"$button_ref": "grindstone.grindstone_output_slot_button",
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "grindstone_result",
// 오버라이드 가능한 변수
"$focus_override_left_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_left": "grindstone_additional"
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory@rainbowpie_ui_inventory_and_container.inventory_panel_bottom_half": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "33.54037267080745%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-14.90683229813665%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar@rainbowpie_ui_inventory_and_container.hotbar_grid_template": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "11.18012422360248%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-1.863354037267081%" ]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: horse_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_horse",
// 다른 템플릿을 가져와서 확장(상속)
"equip_container_item@rainbowpie_ui_inventory_and_container.container_item": {
// 가로/세로 크기
"size": [ "100%", "100%x" ]
},
// 다른 템플릿을 가져와서 확장(상속)
"container_item@rainbowpie_ui_inventory_and_container.container_item": {
// 가로/세로 크기
"size": [ "100%y", "33.33333333333333%" ]
},
// 다른 템플릿을 가져와서 확장(상속)
"horse_root_panel@common.root_panel": {
// 가로/세로 크기
"size": [ 168, 161 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "inventory_selected_icon_button@common.inventory_selected_icon_button": {} },
{ "gamepad_cursor@common.gamepad_cursor_button": {} },
{ "inventory_take_progress_icon_button@common.inventory_take_progress_icon_button": {} },
{
// ???/?? ??
"inventory_ui_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 애니메이션 목록
"anims": [
"@rainbowpie_ui_animations.container_panel_exit_animation_push",
"@rainbowpie_ui_animations.container_panel_exit_animation_pop",
"@rainbowpie_ui_animations.container_panel_entrance_animation_push",
"@rainbowpie_ui_animations.container_panel_entrance_animation_pop"
],
"animation_reset_name": "screen_animation_reset",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background_icon@rainbowpie_ui_inventory.background_icon": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 가로/세로 크기
"size": [ "100%", "14.28571428571429%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "$container_title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border1_size": [ "2.380952380952381%", 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border2_size": [ "2.380952380952381%", 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"common_panel@common.common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 가로/세로 크기
"size": [ "100%", "100% - 14.28571428571429%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle"
}
},
{
// ???/?? ??
"top_half_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "33.54037267080745%" ], // 162x54
// 기준점에서 이동하는 거리
"offset": [ 0, "-50.31055900621118%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"equip_grid": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 가로/세로 크기
"size": [ "11.11111111111111%", "66.66666666666667%" ],
// 목록 이름
"collection_name": "horse_equip_items",
"grid_item_template": "rainbowpieui_horse.equip_container_item",
"grid_dimension_binding": "#equip_grid_dimensions",
// 오버라이드 가능한 변수
"$item_collection_name": "horse_equip_items",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#equip_grid_dimensions"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"saddle@horse.saddle_image": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": [ "100%y", "29.62962962962963%" ],
// 기준점에서 이동하는 거리
"offset": [ "6.25%y", "1.851851851851852%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#has_saddle_slot",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_0@horse.armor_image": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": [ "100%y", "29.62962962962963%" ],
// 기준점에서 이동하는 거리
"offset": [ "6.25%y", "1.851851851851852%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#has_only_armor_slot",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"carpet_0@horse.carpet_image": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": [ "100%y", "29.62962962962963%" ],
// 기준점에서 이동하는 거리
"offset": [ "6.25%y", "1.851851851851852%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#has_only_carpet_slot",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_1@horse.armor_image": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": [ "100%y", "29.62962962962963%" ],
// 기준점에서 이동하는 거리
"offset": [ "6.25%y", "35.18518518518519%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#has_armor_and_saddle_slot",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"carpet_1@horse.carpet_image": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": [ "100%y", "29.62962962962963%" ],
// 기준점에서 이동하는 거리
"offset": [ "6.25%y", "35.18518518518519%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#has_carpet_and_saddle_slot",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"renderer@horse.horse_renderer": {
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ "11.11111111111111%", 0 ]
}
},
{
// ???/?? ??
"inv_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [ "44.44444444444444%", 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"inv_grid": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 목록 이름
"collection_name": "container_items",
"grid_item_template": "rainbowpieui_horse.container_item",
"grid_dimension_binding": "#inv_grid_dimensions",
// 오버라이드 가능한 변수
"$item_collection_name": "container_items",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#inv_grid_dimensions"
}
]
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory@rainbowpie_ui_inventory_and_container.inventory_panel_bottom_half": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "33.54037267080745%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-14.90683229813665%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar@rainbowpie_ui_inventory_and_container.hotbar_grid_template": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "11.18012422360248%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-1.863354037267081%" ]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: host_options_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_host_options",
// ???/?? ??
"color_picker": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 90 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_64981341)",
// 보이기/숨기기(공간 유지)
"visible": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#message_text_box_content"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('message:' + #message_text_box_content)",
// 결과가 들어갈 속성
"target_property_name": "#formatted_message_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('%.14s' * #formatted_message_text) = 'message:.color')",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%cm" ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_btn1n3": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 52, 0 ]
}
},
{
// ???/?? ??
"padding_btn2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 26, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#cheats_on",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"padding_btnTabPrev": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 104, 0 ],
// 완전히 제거(공간도 없음)
"ignored": "(not $touch)"
}
},
{
// ???/?? ??
"panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%cm", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@rainbowpie_ui_common.dialog_background": {
// 가로/세로 크기
"size": [ 120, 90 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@common.scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 2px", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scrolling_content": "rainbowpieui_host_options.color_picker_stack",
// 오버라이드 가능한 변수
"$scroll_size": [ 5, "100%-4px" ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$show_background": false,
// 오버라이드 가능한 변수
"$always_handle_scrolling": false
}
}
]
}
},
{
// ???/?? ??
"a_song_about_life": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 120, 90 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 5 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 보이기/숨기기(공간 유지)
"visible": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 12,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#message_text_box_content"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('message:' + #message_text_box_content)",
// 결과가 들어갈 속성
"target_property_name": "#formatted_message_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#formatted_message_text = 'message:.color sing a song about life')",
// 결과가 들어갈 속성
"target_property_name": "#subcmd_0"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#formatted_message_text = 'message:.color vylet pony')",
// 결과가 들어갈 속성
"target_property_name": "#subcmd_1"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#formatted_message_text = 'message:.color a song about life')",
// 결과가 들어갈 속성
"target_property_name": "#subcmd_2"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#formatted_message_text = 'message:.color antonymph')",
// 결과가 들어갈 속성
"target_property_name": "#subcmd_3"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#formatted_message_text = 'message:.color antonymph of the internet')",
// 결과가 들어갈 속성
"target_property_name": "#subcmd_4"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#subcmd_0 or #subcmd_1 or #subcmd_2 or #subcmd_3 or #subcmd_4)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"text@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "§csing a song about life§r\n§6sing a song about life§r\n§esing a song about life§r\n§asing a song about life§r\n§bsing a song about life§r\n§5sing a song about life§r"
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"color_picker_stack": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_top": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 2 ]
}
},
{
// ???/?? ??
"title_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_text@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "100% - 4px", "default" ],
// 보여줄 글자
"text": "rainbowpie.ui.host_options.color_picker",
// ?? ??
"text_alignment": "left",
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"test@rainbowpieui_host_options.color_picker_item": {
// 완전히 제거(공간도 없음)
"ignored": true
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"black@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$0_color_format",
// 오버라이드 가능한 변수
"$color_picker_code": "§0",
// 오버라이드 가능한 변수
"$color_picker_text": "color.black"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"dark_blue@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$1_color_format",
// 오버라이드 가능한 변수
"$color_picker_code": "§1",
// 오버라이드 가능한 변수
"$color_picker_text": "color.dark_blue"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"dark_green@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$2_color_format",
// 오버라이드 가능한 변수
"$color_picker_code": "§2",
// 오버라이드 가능한 변수
"$color_picker_text": "color.dark_green"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"dark_aqua@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$3_color_format",
// 오버라이드 가능한 변수
"$color_picker_code": "§3",
// 오버라이드 가능한 변수
"$color_picker_text": "color.dark_aqua"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"dark_red@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$4_color_format",
// 오버라이드 가능한 변수
"$color_picker_code": "§4",
// 오버라이드 가능한 변수
"$color_picker_text": "color.dark_red"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"dark_purple@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$5_color_format",
// 오버라이드 가능한 변수
"$color_picker_code": "§5",
// 오버라이드 가능한 변수
"$color_picker_text": "color.dark_purple"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"gold@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$6_color_format",
// 오버라이드 가능한 변수
"$color_picker_code": "§6",
// 오버라이드 가능한 변수
"$color_picker_text": "color.gold"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"gray@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$7_color_format",
// 오버라이드 가능한 변수
"$color_picker_code": "§7",
// 오버라이드 가능한 변수
"$color_picker_text": "color.gray"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"dark_gray@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$8_color_format",
// 오버라이드 가능한 변수
"$color_picker_code": "§8",
// 오버라이드 가능한 변수
"$color_picker_text": "color.dark_gray"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"blue@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$9_color_format",
// 오버라이드 가능한 변수
"$color_picker_code": "§9",
// 오버라이드 가능한 변수
"$color_picker_text": "color.blue"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"green@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$a_color_format",
// 오버라이드 가능한 변수
"$color_picker_code": "§a",
// 오버라이드 가능한 변수
"$color_picker_text": "color.green"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"aqua@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$b_color_format",
// 오버라이드 가능한 변수
"$color_picker_code": "§b",
// 오버라이드 가능한 변수
"$color_picker_text": "color.aqua"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"red@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$c_color_format",
// 오버라이드 가능한 변수
"$color_picker_code": "§c",
// 오버라이드 가능한 변수
"$color_picker_text": "color.red"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"light_purple@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$d_color_format",
// 오버라이드 가능한 변수
"$color_picker_code": "§d",
// 오버라이드 가능한 변수
"$color_picker_text": "color.light_purple"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"yellow@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$e_color_format",
// 오버라이드 가능한 변수
"$color_picker_code": "§e",
// 오버라이드 가능한 변수
"$color_picker_text": "color.yellow"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"white@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$f_color_format",
// 오버라이드 가능한 변수
"$color_picker_code": "§f",
// 오버라이드 가능한 변수
"$color_picker_text": "color.white"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"minecoin_gold@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$coin_color",
// 오버라이드 가능한 변수
"$color_picker_code": "§g",
// 오버라이드 가능한 변수
"$color_picker_text": "accessibility.minecoin"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"material_quartz@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$material_quartz_color",
// 오버라이드 가능한 변수
"$color_picker_code": "§h",
// 오버라이드 가능한 변수
"$color_picker_text": "trim_material.quartz.name"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"material_iron@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$material_iron_color",
// 오버라이드 가능한 변수
"$color_picker_code": "§i",
// 오버라이드 가능한 변수
"$color_picker_text": "trim_material.iron.name"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"material_netherite@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$material_netherite_color",
// 오버라이드 가능한 변수
"$color_picker_code": "§j",
// 오버라이드 가능한 변수
"$color_picker_text": "trim_material.netherite.name"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"material_redstone@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$material_redstone_color",
// 오버라이드 가능한 변수
"$color_picker_code": "§m",
// 오버라이드 가능한 변수
"$color_picker_text": "trim_material.redstone.name"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"material_copper@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$material_copper_color",
// 오버라이드 가능한 변수
"$color_picker_code": "§n",
// 오버라이드 가능한 변수
"$color_picker_text": "trim_material.copper.name"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"material_gold@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$material_gold_color",
// 오버라이드 가능한 변수
"$color_picker_code": "§p",
// 오버라이드 가능한 변수
"$color_picker_text": "trim_material.gold.name"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"material_emerald@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$material_emerald_color",
// 오버라이드 가능한 변수
"$color_picker_code": "§q",
// 오버라이드 가능한 변수
"$color_picker_text": "trim_material.emerald.name"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"material_diamond@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$material_diamond_color",
// 오버라이드 가능한 변수
"$color_picker_code": "§s",
// 오버라이드 가능한 변수
"$color_picker_text": "trim_material.diamond.name"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"material_lapis@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$material_lapis_color",
// 오버라이드 가능한 변수
"$color_picker_code": "§t",
// 오버라이드 가능한 변수
"$color_picker_text": "trim_material.lapis.name"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"material_amethyst@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$material_amethyst_color",
// 오버라이드 가능한 변수
"$color_picker_code": "§u",
// 오버라이드 가능한 변수
"$color_picker_text": "trim_material.amethyst.name"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"material_resin@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$material_resin_color",
// 오버라이드 가능한 변수
"$color_picker_code": "§v",
// 오버라이드 가능한 변수
"$color_picker_text": "trim_material.resin.name"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"obfuscated@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$f_color_format",
// 오버라이드 가능한 변수
"$color_picker_code": "§k",
// 오버라이드 가능한 변수
"$color_picker_text": "§kobfuscated"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"bold@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$f_color_format",
// 오버라이드 가능한 변수
"$color_picker_code": "§l",
// 오버라이드 가능한 변수
"$color_picker_text": "§lbold"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"italic@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$f_color_format",
// 오버라이드 가능한 변수
"$color_picker_code": "§o",
// 오버라이드 가능한 변수
"$color_picker_text": "§oitalic"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"reset@rainbowpieui_host_options.color_picker_item": {
// 오버라이드 가능한 변수
"$color_picker_color": "$f_color_format",
// 오버라이드 가능한 변수
"$color_picker_code": "§r",
// 오버라이드 가능한 변수
"$color_picker_text": "reset"
}
}
]
},
// ???/?? ??
"color_picker_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 19 ],
// 오버라이드 가능한 변수
"$color_picker_color|default": [ 1.0, 1.0, 0.0 ],
// 오버라이드 가능한 변수
"$color_picker_code|default": "default_code",
// 오버라이드 가능한 변수
"$color_picker_text|default": "Default Color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#message_text_box_content"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('message:' + #message_text_box_content)",
// 결과가 들어갈 속성
"target_property_name": "#formatted_message_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('%.15s' * #formatted_message_text) = 'message:.color ')",
// 결과가 들어갈 속성
"target_property_name": "#searching_code"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#formatted_message_text - ('%.15s' * #formatted_message_text))",
// 결과가 들어갈 속성
"target_property_name": "#search_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not #searching_code) or (#searching_code and (($color_picker_code - '§') = #search_text)))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@rainbowpie_ui_common.text_background": {
// 가로/세로 크기
"size": [ "100%", 18 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"color_picker_item_panel@rainbowpie_ui_common.editable_label": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
"text_box_name": "('color_picker_' + $color_picker_code)",
"text_control": "code_display_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"color_text_line": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 0 ]
}
},
{
// ???/?? ??
"color_preview_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"color_preview": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 14, 14 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$color_picker_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"color_text@rainbowpie_ui_common.text_label_notheme": {
// 보여줄 글자
"text": "$color_picker_text",
// ?? (R,G,B,A)
"color": "$color_picker_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// ???/?? ??
"padding_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"code_display_text@rainbowpie_ui_common.text_label_notheme": {
// 보여줄 글자
"text": "$color_picker_code",
// 가로/세로 크기
"size": [ "default", "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 8
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"tip_text@rainbowpie_ui_common.text_label_notheme": {
// 보여줄 글자
"text": "rainbowpie.ui.host_options.color_picker.tip",
// ?? (R,G,B,A)
"color": [ 0.5, 0.5, 0.5 ],
// 기준점에서 이동하는 거리
"offset": [ -2, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
}
]
}
}
]
},
// ???/?? ??
"independent_command_helper": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 90 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_fb3b5106)",
// 보이기/숨기기(공간 유지)
"visible": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#message_text_box_content"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('message:' + #message_text_box_content)",
// 결과가 들어갈 속성
"target_property_name": "#formatted_message_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('%.9s' * #formatted_message_text) = 'message:.')",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%cm" ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_btn1n3": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 52, 0 ]
}
},
{
// ???/?? ??
"padding_btn2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 26, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#cheats_on",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"padding_btnTabPrev": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 104, 0 ],
// 완전히 제거(공간도 없음)
"ignored": "(not $touch)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"command_helper@rainbowpieui_host_options.command_helper": {}
}
]
}
}
]
},
// ???/?? ??
"command_helper": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@rainbowpie_ui_common.dialog_background": {
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"cmd_stack": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%cm", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"color@rainbowpieui_host_options.command_helper_item": {
// 오버라이드 가능한 변수
"$command": "color",
// 오버라이드 가능한 변수
"$usage": "<colorCode>"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"time@rainbowpieui_host_options.command_helper_item": {
// 오버라이드 가능한 변수
"$command": "time"
}
}
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"command_helper_item@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", "default" ],
// 오버라이드 가능한 변수
"$command|default": "cmd",
// 오버라이드 가능한 변수
"$usage|default": "",
// 보여줄 글자
"text": "('.' + $command + ' ' + $usage)",
// 보이기/숨기기(공간 유지)
"visible": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#message_text_box_content"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('message:' + #message_text_box_content)",
// 결과가 들어갈 속성
"target_property_name": "#formatted_message_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#formatted_message_text - 'message:.')",
// 결과가 들어갈 속성
"target_property_name": "#cmd_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(((not (#cmd_text = $command)) and (not (($command - #cmd_text) = $command))) or (#cmd_text = ''))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"host_sub_command_button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 30 ],
// 오버라이드 가능한 변수
"$button_sub_command": "sub_command",
// 오버라이드 가능한 변수
"$button_text": "button_text",
// 오버라이드 가능한 변수
"$button_glyph_anchor_from": "left_middle",
// 오버라이드 가능한 변수
"$button_glyph_anchor_to": "left_middle",
// 오버라이드 가능한 변수
"$button_label_offset": [ 30, 0 ],
// 오버라이드 가능한 변수
"$button_glyph_texture": "",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"host_option_banner@host_options.main_dark_button": {
// 오버라이드 가능한 변수
"$glyph_size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$button_content_offset_glyph": [ 0, 0 ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.sub_command",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#sub_command": "$button_sub_command"
}
}
}
]
},
// ???/?? ??
"advanced_host_friends_tab": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_host_options_advanced)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"all_players@rainbowpieui_host_options.host_sub_command_button": {
// 오버라이드 가능한 변수
"$button_sub_command": "@a",
// 오버라이드 가능한 변수
"$button_text": "commands.autocomplete.a"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"all_entities@rainbowpieui_host_options.host_sub_command_button": {
// 오버라이드 가능한 변수
"$button_sub_command": "@e",
// 오버라이드 가능한 변수
"$button_text": "commands.autocomplete.e"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"closest_player@rainbowpieui_host_options.host_sub_command_button": {
// 오버라이드 가능한 변수
"$button_sub_command": "@p",
// 오버라이드 가능한 변수
"$button_text": "commands.autocomplete.p"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"random_player@rainbowpieui_host_options.host_sub_command_button": {
// 오버라이드 가능한 변수
"$button_sub_command": "@r",
// 오버라이드 가능한 변수
"$button_text": "commands.autocomplete.r"
}
}
]
},
// ???/?? ??
"advanced_host_weather_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_host_options_advanced)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"query@rainbowpieui_host_options.host_sub_command_button": {
// 오버라이드 가능한 변수
"$button_sub_command": "query",
// 오버라이드 가능한 변수
"$button_text": "query"
}
}
]
},
// ???/?? ??
"advanced_host_time_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_1597ee9b or (not $rainbowpie_ui_flag_host_options_advanced))",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"1500@rainbowpieui_host_options.host_sub_command_button": {
// 오버라이드 가능한 변수
"$button_sub_command": "1500",
// 오버라이드 가능한 변수
"$button_text": "1500",
// 오버라이드 가능한 변수
"$button_glyph_texture": "textures/ui/time_3noon"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"4000@rainbowpieui_host_options.host_sub_command_button": {
// 오버라이드 가능한 변수
"$button_sub_command": "4000",
// 오버라이드 가능한 변수
"$button_text": "4000",
// 오버라이드 가능한 변수
"$button_glyph_texture": "textures/ui/time_3noon"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"8000@rainbowpieui_host_options.host_sub_command_button": {
// 오버라이드 가능한 변수
"$button_sub_command": "8000",
// 오버라이드 가능한 변수
"$button_text": "8000",
// 오버라이드 가능한 변수
"$button_glyph_texture": "textures/ui/time_3noon"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"10000@rainbowpieui_host_options.host_sub_command_button": {
// 오버라이드 가능한 변수
"$button_sub_command": "10000",
// 오버라이드 가능한 변수
"$button_text": "10000",
// 오버라이드 가능한 변수
"$button_glyph_texture": "textures/ui/time_3noon"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"15000@rainbowpieui_host_options.host_sub_command_button": {
// 오버라이드 가능한 변수
"$button_sub_command": "15000",
// 오버라이드 가능한 변수
"$button_text": "15000",
// 오버라이드 가능한 변수
"$button_glyph_texture": "textures/ui/time_6midnight"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"16850@rainbowpieui_host_options.host_sub_command_button": {
// 오버라이드 가능한 변수
"$button_sub_command": "16850",
// 오버라이드 가능한 변수
"$button_text": "16850",
// 오버라이드 가능한 변수
"$button_glyph_texture": "textures/ui/time_6midnight"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"19000@rainbowpieui_host_options.host_sub_command_button": {
// 오버라이드 가능한 변수
"$button_sub_command": "19000",
// 오버라이드 가능한 변수
"$button_text": "19000",
// 오버라이드 가능한 변수
"$button_glyph_texture": "textures/ui/time_6midnight"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"20800@rainbowpieui_host_options.host_sub_command_button": {
// 오버라이드 가능한 변수
"$button_sub_command": "20800",
// 오버라이드 가능한 변수
"$button_text": "20800",
// 오버라이드 가능한 변수
"$button_glyph_texture": "textures/ui/time_6midnight"
}
}
]
},
// ???/?? ??
"host_weather_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"host_main_grid@host_options.host_grid": {
// 오버라이드 가능한 변수
"$grid_dimension_binding": "#host_weather_grid_dimension",
// 오버라이드 가능한 변수
"$grid_collection_name": "host_weather_collection",
// 오버라이드 가능한 변수
"$grid_item_template": "host_options.host_sub_command_grid_item"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"advanced_host_weather_panel@rainbowpieui_host_options.advanced_host_weather_panel": {}
}
]
},
// ???/?? ??
"time_tweaker_result_button_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button_label@host_options.button_label": {
// 오버라이드 가능한 변수
"$button_text_color": "$text_color",
// 오버라이드 가능한 변수
"$button_label_anchor_from": "left_middle",
// 오버라이드 가능한 변수
"$button_label_anchor_to": "left_middle",
// 기준점에서 이동하는 거리
"offset": [ 30, 0 ],
// 보여줄 글자
"text": "#time_text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "rainbowpie_time_slider",
// 계산식/참조 값
"source_property_name": "#fin_time_int",
// 결과가 들어갈 속성
"target_property_name": "#fin_time_int"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #fin_time_int + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#time_text"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow@host_options.host_glyph_panel": {
// 오버라이드 가능한 변수
"$button_glyph_texture": "textures/ui/arrowRight",
// 오버라이드 가능한 변수
"$offset_glyph": [ -4, 0 ],
// 오버라이드 가능한 변수
"$button_glyph_anchor_from": "right_middle",
// 오버라이드 가능한 변수
"$button_glyph_anchor_to": "right_middle",
// 가로/세로 크기
"size": [ 8, 8 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"time_1sunrise@host_options.host_glyph_panel": {
// 오버라이드 가능한 변수
"$button_glyph_texture": "textures/ui/time_1sunrise",
// 오버라이드 가능한 변수
"$offset_glyph": [ 0, 0 ],
// 오버라이드 가능한 변수
"$button_glyph_anchor_from": "left_middle",
// 오버라이드 가능한 변수
"$button_glyph_anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "rainbowpie_time_slider",
// 계산식/참조 값
"source_property_name": "#slider_value_int",
// 결과가 들어갈 속성
"target_property_name": "#time_hour_int"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#time_hour_int > 4) and (#time_hour_int < 7))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"time_2day@host_options.host_glyph_panel": {
// 오버라이드 가능한 변수
"$button_glyph_texture": "textures/ui/time_2day",
// 오버라이드 가능한 변수
"$offset_glyph": [ 0, 0 ],
// 오버라이드 가능한 변수
"$button_glyph_anchor_from": "left_middle",
// 오버라이드 가능한 변수
"$button_glyph_anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "rainbowpie_time_slider",
// 계산식/참조 값
"source_property_name": "#slider_value_int",
// 결과가 들어갈 속성
"target_property_name": "#time_hour_int"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#time_hour_int > 6) and (#time_hour_int < 11))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"time_3noon@host_options.host_glyph_panel": {
// 오버라이드 가능한 변수
"$button_glyph_texture": "textures/ui/time_3noon",
// 오버라이드 가능한 변수
"$offset_glyph": [ 0, 0 ],
// 오버라이드 가능한 변수
"$button_glyph_anchor_from": "left_middle",
// 오버라이드 가능한 변수
"$button_glyph_anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "rainbowpie_time_slider",
// 계산식/참조 값
"source_property_name": "#slider_value_int",
// 결과가 들어갈 속성
"target_property_name": "#time_hour_int"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#time_hour_int > 10) and (#time_hour_int < 17))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"time_4sunset@host_options.host_glyph_panel": {
// 오버라이드 가능한 변수
"$button_glyph_texture": "textures/ui/time_4sunset",
// 오버라이드 가능한 변수
"$offset_glyph": [ 0, 0 ],
// 오버라이드 가능한 변수
"$button_glyph_anchor_from": "left_middle",
// 오버라이드 가능한 변수
"$button_glyph_anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "rainbowpie_time_slider",
// 계산식/참조 값
"source_property_name": "#slider_value_int",
// 결과가 들어갈 속성
"target_property_name": "#time_hour_int"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#time_hour_int > 16) and (#time_hour_int < 19))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"time_5night@host_options.host_glyph_panel": {
// 오버라이드 가능한 변수
"$button_glyph_texture": "textures/ui/time_5night",
// 오버라이드 가능한 변수
"$offset_glyph": [ 0, 0 ],
// 오버라이드 가능한 변수
"$button_glyph_anchor_from": "left_middle",
// 오버라이드 가능한 변수
"$button_glyph_anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "rainbowpie_time_slider",
// 계산식/참조 값
"source_property_name": "#slider_value_int",
// 결과가 들어갈 속성
"target_property_name": "#time_hour_int"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#time_hour_int > 18) and (#time_hour_int < 22))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"time_6midnight@host_options.host_glyph_panel": {
// 오버라이드 가능한 변수
"$button_glyph_texture": "textures/ui/time_6midnight",
// 오버라이드 가능한 변수
"$offset_glyph": [ 0, 0 ],
// 오버라이드 가능한 변수
"$button_glyph_anchor_from": "left_middle",
// 오버라이드 가능한 변수
"$button_glyph_anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "rainbowpie_time_slider",
// 계산식/참조 값
"source_property_name": "#slider_value_int",
// 결과가 들어갈 속성
"target_property_name": "#time_hour_int"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(((#time_hour_int > 21) and (#time_hour_int < 24)) or ((#time_hour_int > -1) and (#time_hour_int < 5)))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
},
// ???/?? ??
"host_options_advanced_host_time_tweaker": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_988450b0",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"advanced_host_time_tweaker@rainbowpieui_host_options.advanced_host_time_tweaker": {}
}
]
},
// ???/?? ??
"independent_advanced_host_time_tweaker": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 90 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_988450b0)",
// 보이기/숨기기(공간 유지)
"visible": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#message_text_box_content"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('message:' + #message_text_box_content)",
// 결과가 들어갈 속성
"target_property_name": "#formatted_message_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('%.17s' * #formatted_message_text) = 'message:/time set')",
// 결과가 들어갈 속성
"target_property_name": "#cmd_0"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('%.13s' * #formatted_message_text) = 'message:.time')",
// 결과가 들어갈 속성
"target_property_name": "#cmd_1"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('%.11s' * #formatted_message_text) = 'message:.tt')",
// 결과가 들어갈 속성
"target_property_name": "#cmd_2"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#cmd_0 or #cmd_1 or #cmd_2)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"advanced_host_time_tweaker@rainbowpieui_host_options.advanced_host_time_tweaker": {}
}
]
},
// ???/?? ??
"advanced_host_time_tweaker": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ "100% + 16px", 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_1597ee9b)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"debug01@rainbowpie_ui_common.debug_draw": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_debug_name": "advanced_host_time_tweaker"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background@rainbowpie_ui_common.dialog_background": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"slider_title_stack": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "10px" ],
// 기준점에서 이동하는 거리
"offset": [ 2, 2 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "default", 10 ],
// 보여줄 글자
"text": "rainbowpie.ui.host_options.time_title",
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"time@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "default", 10 ],
// 보여줄 글자
"text": "#time_text",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "rainbowpie_time_slider",
// 계산식/참조 값
"source_property_name": "#slider_value_int",
// 결과가 들어갈 속성
"target_property_name": "#time_hour_int"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #time_hour_int + ':00' + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#time_text"
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_time_slider@common.slider": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_sliderbar_enabled": true,
// 오버라이드 가능한 변수
"$slider_name": "rainbowpie_time_slider",
// 가로/세로 크기
"size": [ "100% - 16px", "16px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 14 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#slider_steps": 24,
// ???/??? ?
"#slider_value_init": 0,
// ???/??? ?
"#slider_value_int": 0,
// ???/??? ?
"#days_int": 0,
// ???/??? ?
"#fin_time_int": 0
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#slider_steps",
// 결과가 들어갈 속성
"target_property_name": "#slider_steps"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#slider_value_init",
// 결과가 들어갈 속성
"target_property_name": "#slider_value"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(((#slider_value_int > #slider_value) * - 1 + 1) * ((#slider_value_int < #slider_value) * 1 + #slider_value_int))",
// 결과가 들어갈 속성
"target_property_name": "#slider_value_int"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#slider_value_int < 6) * (18000 + 1000 * #slider_value_int) + (#slider_value_int > 6) * (#slider_value_int - 6) * 1000)",
// 결과가 들어갈 속성
"target_property_name": "#time_int"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "time_tweaker_days_text",
// 계산식/참조 값
"source_property_name": "#item_name",
// 결과가 들어갈 속성
"target_property_name": "#days_str"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#days_str * 1)",
// 결과가 들어갈 속성
"target_property_name": "#days_int"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#days_int * 24000) + #time_int)",
// 결과가 들어갈 속성
"target_property_name": "#fin_time_int"
}
]
}
},
// max number = 89478
{
// 다른 템플릿을 가져와서 확장(상속)
"days_played@common.text_edit_box": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_editbox_enabled": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 32 ],
// 가로/세로 크기
"size": [ "100% - 6px", 20 ],
// 오버라이드 가능한 변수
"$text_type": "NumberChars",
// 오버라이드 가능한 변수
"$text_box_name": "time_tweaker_days_text_box",
// 오버라이드 가능한 변수
"$text_edit_text_control": "time_tweaker_days_text",
// 오버라이드 가능한 변수
"$place_holder_text": "rainbowpie.ui.host_options.days_played",
// ?? ?? ?
"max_length": 32767,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "(not $rainbowpie_ui_flag_988450b0)",
// 오버라이드 가능한 변수
"$text_edit_box_selected_to_button_id": "",
// 오버라이드 가능한 변수
"$text_edit_box_deselected_to_button_id": ""
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"note_text@rainbowpie_ui_common.text_label": {
// 완전히 제거(공간도 없음)
"ignored": true,
// 가로/세로 크기
"size": [ "100% - 4px", "default" ],
"max_size": [ "100% - 4px", "20px" ],
// 보여줄 글자
"text": "rainbowpie.ui.host_options.time_note",
// ?? ??
"text_alignment": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"weather_button@host_options.main_dark_button": {
// 가로/세로 크기
"size": [ "100% - 4px", 30 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_host_options.time_tweaker_result_button_content",
// 오버라이드 가능한 변수
"$pressed_button_name": "rainbowpie.sub_command",
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// ???/?? ??
"weather_command": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "100% - 4px", 30 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 보이기/숨기기(공간 유지)
"visible": false,
"consume_hover_events": false,
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.sub_command",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.sub_command",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "rainbowpie_time_slider",
// 계산식/참조 값
"source_property_name": "#fin_time_int",
// 결과가 들어갈 속성
"target_property_name": "#fin_time_int"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #fin_time_int + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#sub_command"
},
{
// 가져올 값 이름
"binding_name": "#host_time_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"menu_navigation": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "100% - 4px", 30 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_988450b0)",
// 보이기/숨기기(공간 유지)
"visible": false,
"consume_hover_events": false,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#button_navigation": 6
},
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_navigation",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_navigation",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #host_time_visible)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
}
]
},
// ???/?? ??
"host_time_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"host_main_grid@host_options.host_grid": {
// 오버라이드 가능한 변수
"$grid_dimension_binding": "#host_time_grid_dimension",
// 오버라이드 가능한 변수
"$grid_collection_name": "host_time_collection",
// 오버라이드 가능한 변수
"$grid_item_template": "host_options.host_sub_command_grid_item"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"advanced_host_time_panel@rainbowpieui_host_options.advanced_host_time_panel": {}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: how_to_play_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_how_to_play",
// ???/?? ??
"how_to_play_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"header@rainbowpie_ui_common.screen_header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_title": "#section_title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_title_bindings": [
{
// 가져올 값 이름
"binding_name": "#section_title",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"blur_layer@mintui_background.background_blur": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_3e35fb2e",
// 오버라이드 가능한 변수
"$background_offset": [ "-68%", 20 ],
// 오버라이드 가능한 변수
"$background_children_offset": [ "68%", -20 ],
// 오버라이드 가능한 변수
"$background_layer": -3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"mask_layer@mintui_background.background_mask": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_3e35fb2e",
// 오버라이드 가능한 변수
"$background_offset": [ "-68%", 20 ],
// 오버라이드 가능한 변수
"$background_children_offset": [ "68%", -20 ],
// 오버라이드 가능한 변수
"$background_layer": -3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background_blur@mintui_background.background_blur_fullscreen": {
// 완전히 제거(공간도 없음)
"ignored": "((not $is_pregame) or (not $rainbowpie_ui_flag_3e35fb2e))",
// 오버라이드 가능한 변수
"$background_mask": false,
// 겹치는 순서(숫자 클수록 위)
"layer": -3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_content@rainbowpie_ui_common.screen_content": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": [
{
// ???/?? ??
"container": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100% - 20px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"selector_background@rainbowpie_ui_common.text_background": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_71042f58",
// 보이기/숨기기(공간 유지)
"visible": "((not $is_pregame) or (not $rainbowpie_ui_feature_background_blur))",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 가로/세로 크기
"size": [ "32%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"content_background@rainbowpie_ui_common.global_background": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 가로/세로 크기
"size": [ "68%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ???
"alpha": "$rainbowpie_localui_this_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_alpha": "$rainbowpie_ui_theme_global_background_alpha",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$is_pregame",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_alpha": 0.5
}
]
}
},
{
// ???/?? ??
"dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 이 안에 들어가는 부품 목록
"controls": [
{ "selector_area@rainbowpieui_how_to_play.selector_area": {} },
{ "content_area@rainbowpieui_how_to_play.content_area_wrapper": {} }
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"scrollable_selector_area_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점에서 이동하는 거리
"offset": [ 1, 0 ],
// 가로/세로 크기
"size": [ "100% - 2px", "100%c + 1px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "$selector_stack_panel@$selector_stack_panel": {} }
]
},
// ???/?? ??
"selector_area": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "32%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
"focus_container": true,
"use_last_focus": true,
// 오버라이드 가능한 변수
"$focus_navigation_mode_override_down|default": "contained",
// 오버라이드 가능한 변수
"$focus_navigation_mode_override_up|default": "contained",
// 오버라이드 가능한 변수
"$focus_navigation_mode_override_left|default": "",
// 오버라이드 가능한 변수
"$focus_navigation_mode_override_right|default": "",
"focus_navigation_mode_down": "$focus_navigation_mode_override_down",
"focus_navigation_mode_up": "$focus_navigation_mode_override_up",
"focus_navigation_mode_left": "$focus_navigation_mode_override_left",
"focus_navigation_mode_right": "$focus_navigation_mode_override_right",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@common.scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scrolling_content": "rainbowpieui_how_to_play.scrollable_selector_area_content",
// 오버라이드 가능한 변수
"$show_background": false,
// 오버라이드 가능한 변수
"$scroll_size": [ "5px", "100% - 4px" ],
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 1, 0 ]
}
}
]
},
// ???/?? ??
"content_area_wrapper": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "68%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{ "content_area@rainbowpieui_how_to_play.content_area": {} }
]
},
// ???/?? ??
"content_area": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"control": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100% - 2px", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@common.scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 가로/세로 크기
"size": [ "100%", "fill" ],
// 오버라이드 가능한 변수
"$scrolling_content": "$section_content_panels",
// 오버라이드 가능한 변수
"$show_background": false,
// 오버라이드 가능한 변수
"$scroll_size": [ "5px", "100% - 4px" ],
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 1, 0 ]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: hud_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_hud",
// ???/?? ??
"boss_name_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_75ad0b10)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"text_stack": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_fill_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "fill", 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#progress_percentage",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "boss_bars"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(1000-#progress_percentage*1000)",
// 결과가 들어갈 속성
"target_property_name": "#health_percentage_ratio"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#health_percentage_ratio = 1000)",
// 결과가 들어갈 속성
"target_property_name": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_dc165cd2)"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"boss_name@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", "default" ],
// ?? (R,G,B,A)
"color": "$boss_name_text_color",
// 보여줄 글자
"text": "#bossName",
"shadow": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#bossName",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "boss_bars"
}
]
}
},
{
// ???/?? ??
"padding_fill_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "fill", 0 ]
}
},
{
// ???/?? ??
"health_percentage_text_stack": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%cm" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#progress_percentage",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "boss_bars"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(1000-#progress_percentage*1000)",
// 결과가 들어갈 속성
"target_property_name": "#health_percentage_ratio"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#health_percentage_ratio = 1000))",
// 결과가 들어갈 속성
"target_property_name": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_dc165cd2)"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"health_percentage@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", "default" ],
// ?? (R,G,B,A)
"color": "$boss_name_text_color",
// 보여줄 글자
"text": "#health_percentage_text",
"shadow": true,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#health_percentage_int": 0
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#progress_percentage",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "boss_bars"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(1000-#progress_percentage*1000)",
// 결과가 들어갈 속성
"target_property_name": "#health_percentage_ratio"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#health_percentage_ratio > 99) * 100 + (#health_percentage_ratio > 199) * 100 + (#health_percentage_ratio > 299) * 100 + (#health_percentage_ratio > 399) * 100 + (#health_percentage_ratio > 499) * 100 + (#health_percentage_ratio > 599) * 100 + (#health_percentage_ratio > 699) * 100 + (#health_percentage_ratio > 799) * 100 + (#health_percentage_ratio > 899) * 100 + (#health_percentage_ratio > 999) * 100)",
// 결과가 들어갈 속성
"target_property_name": "#health_percentage_integer_1"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#health_percentage_ratio - #health_percentage_integer_1 > 9) * 10 + (#health_percentage_ratio - #health_percentage_integer_1 > 19) * 10 + (#health_percentage_ratio - #health_percentage_integer_1 > 29) * 10 + (#health_percentage_ratio - #health_percentage_integer_1 > 39) * 10 + (#health_percentage_ratio - #health_percentage_integer_1 > 49) * 10 + (#health_percentage_ratio - #health_percentage_integer_1 > 59) * 10 + (#health_percentage_ratio - #health_percentage_integer_1 > 69) * 10 + (#health_percentage_ratio - #health_percentage_integer_1 > 79) * 10 + (#health_percentage_ratio - #health_percentage_integer_1 > 89) * 10 + (#health_percentage_ratio - #health_percentage_integer_1 > 99) * 10)",
// 결과가 들어갈 속성
"target_property_name": "#health_percentage_integer_2"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#health_percentage_ratio - (#health_percentage_integer_1 + #health_percentage_integer_2) > 0) + (#health_percentage_ratio - (#health_percentage_integer_1 + #health_percentage_integer_2) > 1) * 1 + (#health_percentage_ratio - (#health_percentage_integer_1 + #health_percentage_integer_2) > 2) * 1 + (#health_percentage_ratio - (#health_percentage_integer_1 + #health_percentage_integer_2) > 3) * 1 + (#health_percentage_ratio - (#health_percentage_integer_1 + #health_percentage_integer_2) > 4) * 1 + (#health_percentage_ratio - (#health_percentage_integer_1 + #health_percentage_integer_2) > 5) * 1 + (#health_percentage_ratio - (#health_percentage_integer_1 + #health_percentage_integer_2) > 6) * 1 + (#health_percentage_ratio - (#health_percentage_integer_1 + #health_percentage_integer_2) > 7) * 1 + (#health_percentage_ratio - (#health_percentage_integer_1 + #health_percentage_integer_2) > 8) * 1 + (#health_percentage_ratio - (#health_percentage_integer_1 + #health_percentage_integer_2) > 9) * 1)",
// 결과가 들어갈 속성
"target_property_name": "#health_percentage_fraction_1"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#health_percentage_integer_1 + #health_percentage_integer_2) / 10)",
// 결과가 들어갈 속성
"target_property_name": "#health_percentage_integer"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#health_percentage_fraction_1",
// 결과가 들어갈 속성
"target_property_name": "#health_percentage_fraction"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #health_percentage_integer + '.' + #health_percentage_fraction + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#health_percentage_text"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"health_percentage_symbol@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", "default" ],
// ?? (R,G,B,A)
"color": "$boss_name_text_color",
// 보여줄 글자
"text": "rainbowpie.ui.symbols.percentage",
"shadow": true
}
}
]
}
}
]
}
}
]
},
// Fix layout customization on v1.20.50
"layout_customization_option@hud.layout_customization_option": {},
// 다른 템플릿을 가져와서 확장(상속)
"layout_customization_option_content@hud.layout_customization_option_content": {},
// 다른 템플릿을 가져와서 확장(상속)
"layout_customization_option_slider@hud.layout_customization_option_slider": {},
// ???/?? ??
"layout_customization_reset_modal": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 가로/세로 크기
"size": [ 204, 132 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dialog_panel@rainbowpie_ui_dialog.dialog_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "rainbowpie.ui.dialog.title_default",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_hud.layout_customization_reset_modal_dialog_content",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_show_background": false,
// 오버라이드 가능한 변수
"$close_button_to_button_id": "button.cancel_reset"
}
}
]
},
// ???/?? ??
"layout_customization_reset_modal_dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content_panel@rainbowpie_ui_dialog.content_background": {
// 가로/세로 크기
"size": [ "100%", "fill" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"text@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "100% - 6px", "100% - 4px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_content_color",
// 보여줄 글자
"text": "hudScreen.controlCustomization.resetModalText"
}
}
]
}
},
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 1px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "100% + 1px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": "$rainbowpie_ui_theme_dialog_content_background_alpha",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 가로/세로 크기
"size": [ "100%", 23 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"reset_modal_ok@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.confirm_reset",
// 오버라이드 가능한 변수
"$button_text": "hudScreen.controlCustomization.resetConfirm",
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"reset_modal_cancel@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.cancel_reset",
// 오버라이드 가능한 변수
"$button_text": "hudScreen.controlCustomization.resetCancel",
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"layout_customization_close_without_saving": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 가로/세로 크기
"size": [ 204, 132 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dialog_panel@rainbowpie_ui_dialog.dialog_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "rainbowpie.ui.dialog.title_default",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_hud.layout_customization_close_without_saving_dialog_content",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_show_background": false,
// 오버라이드 가능한 변수
"$close_button_to_button_id": "button.cancel_reset"
}
}
]
},
// ???/?? ??
"layout_customization_close_without_saving_dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content_panel@rainbowpie_ui_dialog.content_background": {
// 가로/세로 크기
"size": [ "100%", "fill" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"text@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "100% - 6px", "100% - 4px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_content_color",
// 보여줄 글자
"text": "hudScreen.controlCustomization.closeWithoutSavingModalText"
}
}
]
}
},
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 1px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "100% + 1px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": "$rainbowpie_ui_theme_dialog_content_background_alpha",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 가로/세로 크기
"size": [ "100%", 23 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"without_saving_modal_ok@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.confirm_close_without_saving",
// 오버라이드 가능한 변수
"$button_text": "hudScreen.controlCustomization.closeWithoutSavingConfirm",
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"close_without_saving_modal_cancel@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.cancel_close_without_saving",
// 오버라이드 가능한 변수
"$button_text": "hudScreen.controlCustomization.closeWithoutSavingCancel",
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"hotbar_items_durability_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 보이기/숨기기(공간 유지)
"visible": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"tip_text_background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%c + 4px", "100%c + 4px" ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", 12 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"item_renderer@rainbowpie_ui_common.item_renderer": {
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "hotbar_items"
}
]
}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 2 ]
}
},
{
// ???/?? ??
"selected_durability_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"durability_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"durability_title@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "rainbowpie.ui.inventory.durability",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_durabilityview_title)"
}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 0 ],
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_durabilityview_title)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"durability_text@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "#text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#item_durability_total_amount",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "hotbar_items"
},
{
// 가져올 값 이름
"binding_name": "#item_durability_current_amount",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "hotbar_items"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(((#amount_current>#item_durability_current_amount)*-1+1)*((#amount_current<#item_durability_current_amount)*1+#amount_current))",
// 결과가 들어갈 속성
"target_property_name": "#amount_current",
// ?? ???
"binding_condition": "always_when_visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(((#amount_total>#item_durability_total_amount)*-1+1)*((#amount_total<#item_durability_total_amount)*1+#amount_total))",
// 결과가 들어갈 속성
"target_property_name": "#amount_total",
// ?? ???
"binding_condition": "always_when_visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #amount_current + '/' + #amount_total + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#slot_selected",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "hotbar_items"
},
{
// 가져올 값 이름
"binding_name": "#item_durability_total_amount",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "hotbar_items"
},
{
// 가져올 값 이름
"binding_name": "#item_durability_current_amount",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "hotbar_items"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not ((#item_durability_total_amount = 0) and (#item_durability_current_amount = 0))) and #slot_selected)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"hotbar_items_durability": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 목록 이름
"collection_name": "hotbar_items",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 가로/세로 크기
"size": [ "100%cm", "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ -7, -6 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_items_durability_slot_0@rainbowpieui_hud.hotbar_items_durability_item": {
"collection_index": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_items_durability_slot_1@rainbowpieui_hud.hotbar_items_durability_item": {
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_items_durability_slot_2@rainbowpieui_hud.hotbar_items_durability_item": {
"collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_items_durability_slot_3@rainbowpieui_hud.hotbar_items_durability_item": {
"collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_items_durability_slot_4@rainbowpieui_hud.hotbar_items_durability_item": {
"collection_index": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_items_durability_slot_5@rainbowpieui_hud.hotbar_items_durability_item": {
"collection_index": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_items_durability_slot_6@rainbowpieui_hud.hotbar_items_durability_item": {
"collection_index": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_items_durability_slot_7@rainbowpieui_hud.hotbar_items_durability_item": {
"collection_index": 7
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_items_durability_slot_8@rainbowpieui_hud.hotbar_items_durability_item": {
"collection_index": 8
}
}
]
},
// ???/?? ??
"hotbar_items_durability_warning_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 보이기/숨기기(공간 유지)
"visible": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"tip_text_background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%c + 4px", "100%c + 4px" ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", 12 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"selected_durability_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c + 1px", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"durability_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"durability_title@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "rainbowpie.ui.inventory.durability_remaining",
// ?? (R,G,B,A)
"color": [ 1.0, 0.333, 0.333 ]
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"durability_text@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "#text",
// ?? (R,G,B,A)
"color": [ 1.0, 0.333, 0.333 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#item_durability_current_amount",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "hotbar_items"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(((#amount_current>#item_durability_current_amount)*-1+1)*((#amount_current<#item_durability_current_amount)*1+#amount_current))",
// 결과가 들어갈 속성
"target_property_name": "#amount_current",
// ?? ???
"binding_condition": "always_when_visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #amount_current + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#slot_selected",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "hotbar_items"
},
{
// 가져올 값 이름
"binding_name": "#item_durability_total_amount",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "hotbar_items"
},
{
// 가져올 값 이름
"binding_name": "#item_durability_current_amount",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "hotbar_items"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not ((#item_durability_total_amount = 0) and (#item_durability_current_amount = 0))) and (#item_durability_current_amount < 16) and #slot_selected)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"hotbar_items_durability_warning": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 목록 이름
"collection_name": "hotbar_items",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "100%cm", "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 20 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_items_durability_warning_slot_0@rainbowpieui_hud.hotbar_items_durability_warning_item": {
"collection_index": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_items_durability_warning_slot_1@rainbowpieui_hud.hotbar_items_durability_warning_item": {
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_items_durability_warning_slot_2@rainbowpieui_hud.hotbar_items_durability_warning_item": {
"collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_items_durability_warning_slot_3@rainbowpieui_hud.hotbar_items_durability_warning_item": {
"collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_items_durability_warning_slot_4@rainbowpieui_hud.hotbar_items_durability_warning_item": {
"collection_index": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_items_durability_warning_slot_5@rainbowpieui_hud.hotbar_items_durability_warning_item": {
"collection_index": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_items_durability_warning_slot_6@rainbowpieui_hud.hotbar_items_durability_warning_item": {
"collection_index": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_items_durability_warning_slot_7@rainbowpieui_hud.hotbar_items_durability_warning_item": {
"collection_index": 7
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_items_durability_warning_slot_8@rainbowpieui_hud.hotbar_items_durability_warning_item": {
"collection_index": 8
}
}
]
},
// ???/?? ??
"rainbowpie_hud_durability": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_feature_inventory_durability) or (not $rainbowpie_ui_feature_hud_durability))",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_items_durability@rainbowpieui_hud.hotbar_items_durability": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_items_durability_warning@rainbowpieui_hud.hotbar_items_durability_warning": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_hud_durability_warning)"
}
}
]
},
// ???/?? ??
"rainbowpie_hud_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_hidehud_button@rainbowpieui_hud.borderless_button": {
// 완전히 제거(공간도 없음)
"ignored": "(($rainbowpie_ui_flag_hud_hotbar_mode = 0) or $rainbowpie_ui_flag_hud_hidehud_clickspace)",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.hide_gui_all",
// ??/???
"enabled": true,
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ 20, 24 ],
// 기준점에서 이동하는 거리
"offset": [ -100, -0.5 ],
// 오버라이드 가능한 변수
"$button_controls": [
{
// ???/?? ??
"icon_text": {
// 글자 표시
"type": "label",
// ??
"font_type": "default",
// 보여줄 글자
"text": "H",
// ???
"alpha": 0.65,
// 겹치는 순서(숫자 클수록 위)
"layer": 10
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#layout_customization_main_panel_visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not #layout_customization_main_panel_visible)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
},
{
// 가져올 값 이름
"binding_name": "#inventory_touch_button",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// ???/?? ??
"clickspace_hidehud": {
// 완전히 제거(공간도 없음)
"ignored": "(($rainbowpie_ui_flag_hud_hotbar_mode = 0) or not $rainbowpie_ui_flag_hud_hidehud_clickspace)",
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ 220, 24 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -0.5 ],
"prevent_touch_input": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"tip_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"tip_text_background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%c + 12px", "100%c + 5px" ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_black')",
// ???
"alpha": 0,
// 애니메이션 목록
"anims": ["@rainbowpieui_hud.hidehudtip_background_out_in"],
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"item_text_label@rainbowpie_ui_common.text_label_notheme": {
"max_size": [ 160, 24 ],
// ?? ??
"text_alignment": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 31,
// 보여줄 글자
"text": "rainbowpie.ui.hud.clickspace.tiptext",
// ???
"alpha": 0,
// 애니메이션 목록
"anims": ["@rainbowpieui_hud.hidehudtip_text_out_in"]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"border_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"border_left": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 1, "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_button_border_default_color",
// ???
"alpha": 0,
// 애니메이션 목록
"anims": ["@rainbowpieui_hud.hidehudtip_border_out_in"]
}
},
{
// ???/?? ??
"border_right": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 1, "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_button_border_default_color",
// ???
"alpha": 0,
// 애니메이션 목록
"anims": ["@rainbowpieui_hud.hidehudtip_border_out_in"]
}
},
{
// ???/?? ??
"border_top": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", 1 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_button_border_default_color",
// ???
"alpha": 0,
// 애니메이션 목록
"anims": ["@rainbowpieui_hud.hidehudtip_border_out_in"]
}
},
{
// ???/?? ??
"border_bottom": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", 1 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_button_border_default_color",
// ???
"alpha": 0,
// 애니메이션 목록
"anims": ["@rainbowpieui_hud.hidehudtip_border_out_in"]
}
}
]
}
}
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.hide_gui_all",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.hide_gui_all",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#inventory_touch_button",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#hud_alpha",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#alpha",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#hud_propagate_alpha",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#propagateAlpha",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not #hud_visible)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"player_joined_toast_item_anim_start": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 0.0,
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_hud.player_joined_toast_item_anim_wait"
},
// ???/?? ??
"player_joined_toast_item_anim_wait": {
// 투명도 변화
"anim_type": "alpha",
// 걸리는 시간(초)
"duration": 8.0,
// 시작 값
"from": 1.0,
// 끝 값
"to": 1.0,
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_hud.player_joined_toast_item_anim_end",
"resettable": false
},
// ???/?? ??
"player_joined_toast_item_anim_end": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "out_cubic",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_chat_transition_time",
// 시작 값
"from": 1.0,
// 끝 값
"to": 0
},
// ???/?? ??
"player_joined_toast_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 20 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"player_joined_toast_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
"propagate_alpha": true,
// ???
"alpha": 1.0,
// 애니메이션 목록
"anims": ["@rainbowpieui_hud.player_joined_toast_item_anim_start"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"tip_text_background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%c + 4px", "100%c + 4px" ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", 12 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"player_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "#texture",
// 가로/세로 크기
"size": [ 12, 12 ],
// ??? ?? ???
"texture_file_system": "#texture_source",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 가져올 값 이름
"binding_name": "#texture_source",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#texture_source",
// 결과가 들어갈 속성
"target_property_name": "#texture_file_system"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#texture_source = 'RawPath'))",
// 결과가 들어갈 속성
"target_property_name": "#is_local_picture"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#is_local_picture)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"player_image_local": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/icon_steve",
// 가로/세로 크기
"size": [ 12, 12 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#texture_source",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#texture_source = 'RawPath'))",
// 결과가 들어갈 속성
"target_property_name": "#is_local_picture"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#is_local_picture",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 0 ]
}
},
{
// ???/?? ??
"player_name_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c + 1px", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_name@rainbowpie_ui_common.title_label": {
// ?? ??
"text_alignment": "left",
// 보여줄 글자
"text": "#gamertag",
// 가로/세로 크기
"size": [ "default", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#gamertag",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
}
]
}
}
]
}
},
{
// ???/?? ??
"joined_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c + 1px", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"joined_text@rainbowpie_ui_common.title_label": {
// ?? ??
"text_alignment": "left",
// 보여줄 글자
"text": "joined.",
// 가로/세로 크기
"size": [ "default", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"notification_alpha_anim_start": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "out_cubic",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_chat_transition_time",
// 시작 값
"from": 0.0,
// 끝 값
"to": 1.0,
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_hud.notification_alpha_anim_wait"
},
// ???/?? ??
"notification_alpha_anim_wait": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 8.0,
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_hud.notification_alpha_anim_end"
},
// ???/?? ??
"notification_alpha_anim_end": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "out_cubic",
"destroy_at_end": "notification_features_disabled",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_chat_transition_time",
// 시작 값
"from": 1.0,
// 끝 값
"to": 0
},
// ???/?? ??
"notification_offset_anim_start": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "out_cubic",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_chat_transition_time",
// 시작 값
"from": [ 0, -20 ],
// 끝 값
"to": [ 0, 0 ],
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_hud.notification_offset_anim_wait"
},
// ???/?? ??
"notification_offset_anim_wait": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 8.0,
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_hud.notification_offset_anim_end"
},
// ???/?? ??
"notification_offset_anim_end": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "out_cubic",
"destroy_at_end": "notification_features_disabled",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_chat_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ 0, 20 ]
},
// ???/?? ??
"rainbowpie_root_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
// Module Controls
{
// 다른 템플릿을 가져와서 확장(상속)
"hud_block_counter@rainbowpie_module_hud_block_counter.hud_block_counter": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hud_bow_helper@rainbowpie_module_hud_bow_helper.hud_bow_helper": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hud_compass@rainbowpie_module_hud_compass.hud_compass": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hud_selected_item_id@rainbowpie_module_hud_selected_item_id.hud_selected_item_id": {}
},
// Item Durability
{
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_hud_durability@rainbowpieui_hud.rainbowpie_hud_durability": {}
},
// 显示一个看不见的hud玩家渲染
{
// ???/?? ??
"hud_player": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "hud_player_renderer",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_0ffd0593)",
// 가로/세로 크기
"size": [ 0, 0 ],
// 기준점에서 이동하는 거리
"offset": [ 0, "200%" ]
}
},
// Features Disabled Notification
{
// ???/?? ??
"notification_features_disabled": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_6a8911d5) or (not $rainbowpie_ui_flag_notification_features_disabled))",
"propagate_alpha": true,
// 애니메이션 목록
"anims": [
"@rainbowpieui_hud.notification_alpha_anim_start",
"@rainbowpieui_hud.notification_offset_anim_start"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"notification_background@rainbowpie_ui_common.text_background": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white')",
// 가로/세로 크기
"size": [ "100%cm + 6px", "100%c + 4px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"content_stack": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%cm", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"title_text_stack": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_text@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "('rainbowpie.ui.notification.features_disabled.' + $rainbowpie_ui_flag_notification_features_disabled_reason)",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "(not ($rainbowpie_ui_flag_server_identifier = ''))",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_notification_features_disabled_reason": "server"
}
]
}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"resourcepack_name_text@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "$rainbowpie_ui_flag_resourcepack_displayname",
// ?? (R,G,B,A)
"color": [ 1.0, 1.0, 0.333 ],
// 완전히 제거(공간도 없음)
"ignored": "(not ($rainbowpie_ui_flag_server_displayname = ''))"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"server_name_text@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "$rainbowpie_ui_flag_server_displayname",
// ?? (R,G,B,A)
"color": [ 1.0, 1.0, 0.333 ],
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_server_displayname = '')"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"features_disabled_text@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "rainbowpie.ui.notification.features_disabled.text"
}
}
]
}
}
]
}
}
]
}
},
// New Player Joined Toast
{
// ???/?? ??
"player_joined_toast": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 기준점에서 이동하는 거리
"offset": [ 4, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_ae054b5d)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_grid@rainbowpieui_hud.player_grid": {
// 가로/세로 크기
"size": [ 0, "default" ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
"grid_item_template": "rainbowpieui_hud.player_joined_toast_item"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"override_tab_hotkey@rainbowpieui_hud.override_tab_hotkey": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_feature_hud_tablist)",
// 겹치는 순서(숫자 클수록 위)
"layer": 125
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_hotbar@rainbowpieui_hud.rainbowpie_hotbar": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_hud_hotbar_mode = 0)",
// 겹치는 순서(숫자 클수록 위)
"layer": 22,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_visible_centered",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#hud_visible_centered_touch",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#hotbar_visible_not_centered",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#show_survival_ui"
},
{
// 가져올 값 이름
"binding_name": "#is_creative_mode"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#show_survival_ui or #is_creative_mode)",
// 결과가 들어갈 속성
"target_property_name": "#is_hotbar_needed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#hud_visible_centered or #hud_visible_centered_touch or #hotbar_visible_not_centered) and #is_hotbar_needed)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_chat@rainbowpieui_hud.rainbowpie_chat": {
// 완전히 제거(공간도 없음)
"ignored": "($touch or $rainbowpie_ui_flag_disable_custom_chat_ui)",
// 겹치는 순서(숫자 클수록 위)
"layer": 20
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_chat_touch@rainbowpieui_hud.rainbowpie_chat_touch": {
// 완전히 제거(공간도 없음)
"ignored": "((not $touch) or not $rainbowpie_ui_flag_6d2ac350 or $rainbowpie_ui_flag_disable_custom_chat_ui)",
// 겹치는 순서(숫자 클수록 위)
"layer": 20
}
}
]
},
// ???/?? ??
"rainbowpie_chat_touch": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$chat_panel_size": [ "50% - 90px", "100% - 24px" ],
// 가로/세로 크기
"size": "$chat_panel_size",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_hud_chat_halfscreen",
// 오버라이드 가능한 변수
"$chat_panel_size": [ "50%", "100% - 24px" ]
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"debug01@rainbowpie_ui_common.debug_draw": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_debug_name": "rainbowpie_chat"
}
},
{
// ???/?? ??
"chat_stack": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"paper_doll_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 50 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#paper_doll_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"non_centered_gui_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 32 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_visible_not_centered",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// ???/?? ??
"number_of_days_played": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_hud_hotbar_mode = 2)",
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%c + 6px", 12 ],
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// ???
"alpha": 0.5,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"number_of_days_played_text@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", 10 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"enable_profanity_filter": false,
// ?? (R,G,B,A)
"color": "$chat_text_color",
// 보여줄 글자
"text": "#text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#number_of_days_played_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// ?? ???
"binding_condition": "always_when_visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#hud_text_background_alpha"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#hud_text_background_alpha > (1 - #hud_text_background_alpha)) / 3)",
// 결과가 들어갈 속성
"target_property_name": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_f733129c)"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"number_of_days_played_text_shadow@rainbowpie_ui_common.text_label_notheme": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_f733129c)",
// 가로/세로 크기
"size": [ "default", 10 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"enable_profanity_filter": false,
// ?? (R,G,B,A)
"color": "$chat_text_color",
// 보여줄 글자
"text": "#text",
"shadow": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#number_of_days_played_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// ?? ???
"binding_condition": "always_when_visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#hud_text_background_alpha"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#hud_text_background_alpha < (1 - #hud_text_background_alpha)) / 3)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#number_of_days_played_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// ?? ???
"binding_condition": "always",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#hud_text_background_alpha",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#alpha",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_f733129c)"
}
]
}
},
{
// ???/?? ??
"player_position": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_hud_hotbar_mode = 2)",
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%c + 6px", 12 ],
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// ???
"alpha": 0.5,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_position_text@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", 10 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"enable_profanity_filter": false,
// ?? (R,G,B,A)
"color": "$chat_text_color",
// 보여줄 글자
"text": "#text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#player_position_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// ?? ???
"binding_condition": "always_when_visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#hud_text_background_alpha"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#hud_text_background_alpha > (1 - #hud_text_background_alpha)) / 3)",
// 결과가 들어갈 속성
"target_property_name": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_f733129c)"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"player_position_text_shadow@rainbowpie_ui_common.text_label_notheme": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_f733129c)",
// 가로/세로 크기
"size": [ "default", 10 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"enable_profanity_filter": false,
// ?? (R,G,B,A)
"color": "$chat_text_color",
// 보여줄 글자
"text": "#text",
"shadow": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#player_position_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// ?? ???
"binding_condition": "always_when_visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#hud_text_background_alpha"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#hud_text_background_alpha < (1 - #hud_text_background_alpha)) / 3)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#player_position_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// ?? ???
"binding_condition": "always",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#hud_text_background_alpha",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#alpha",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_f733129c)"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"chat_panel@rainbowpieui_hud.chat_panel": {
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"max_size": [ "100%", "50%" ]
}
}
]
}
}
]
},
// ???/?? ??
"live_player_renderer": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 22, 22 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_0ffd0593)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"live_player": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "live_player_renderer",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"animation_reset_name": "screen_animation_reset",
// 애니메이션 목록
"anims": [
"@common.screen_exit_size_animation_push",
"@common.screen_exit_size_animation_pop",
"@common.screen_entrance_size_animation_push",
"@common.screen_entrance_size_animation_pop"
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#paper_doll_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
},
// ???/?? ??
"hud_root_panel_animation": {
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 끝 값
"to": [ "100%", "100%" ],
// 시작 값
"from": [ "100%", "125%" ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"hud_root_panel_animation_pop": {
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 끝 값
"to": [ "100%", "100%" ],
// 시작 값
"from": [ "100%", "125%" ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"hud_root_panel_back_animation": {
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ "100%", "100%" ],
// 끝 값
"to": [ "100%", "125%" ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"hud_root_panel_back_animation_pop": {
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ "100%", "100%" ],
// 끝 값
"to": [ "100%", "125%" ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"hidehudtip_background_out_in": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_expo",
// 걸리는 시간(초)
"duration": 0,
// 시작 값
"from": 0.6,
// 끝 값
"to": 0.6,
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_hud.hidehudtip_background_out_wait",
"play_event": "button.hide_gui_all"
},
// ???/?? ??
"hidehudtip_background_out_wait": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 3,
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_hud.hidehudtip_background_out_anim"
},
// ???/?? ??
"hidehudtip_background_out_anim": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_expo",
// 걸리는 시간(초)
"duration": 2,
// 시작 값
"from": 0.6,
// 끝 값
"to": 0
},
// ???/?? ??
"hidehudtip_text_out_in": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_expo",
// 걸리는 시간(초)
"duration": 0,
// 시작 값
"from": 1,
// 끝 값
"to": 1,
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_hud.hidehudtip_text_out_wait",
"play_event": "button.hide_gui_all"
},
// ???/?? ??
"hidehudtip_text_out_wait": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 3,
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_hud.hidehudtip_text_out_anim"
},
// ???/?? ??
"hidehudtip_text_out_anim": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_expo",
// 걸리는 시간(초)
"duration": 2,
// 시작 값
"from": 1,
// 끝 값
"to": 0
},
// ???/?? ??
"hidehudtip_border_out_in": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_expo",
// 걸리는 시간(초)
"duration": 0,
// 시작 값
"from": "$rainbowpie_ui_theme_button_border_default_alpha",
// 끝 값
"to": "$rainbowpie_ui_theme_button_border_default_alpha",
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_hud.hidehudtip_border_out_wait",
"play_event": "button.hide_gui_all"
},
// ???/?? ??
"hidehudtip_border_out_wait": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 3,
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_hud.hidehudtip_border_out_anim"
},
// ???/?? ??
"hidehudtip_border_out_anim": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_expo",
// 걸리는 시간(초)
"duration": 2,
// 시작 값
"from": "$rainbowpie_ui_theme_button_border_default_alpha",
// 끝 값
"to": 0
},
// ???/?? ??
"rainbowpie_chat": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$chat_panel_size": [ "50% - 90px", "100% - 24px" ],
// 가로/세로 크기
"size": "$chat_panel_size",
// 기준점에서 이동하는 거리
"offset": [ 0, -12 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_hud_chat_halfscreen",
// 오버라이드 가능한 변수
"$chat_panel_size": [ "50%", "100% - 24px" ]
},
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_149baa36",
// 오버라이드 가능한 변수
"$chat_panel_size": [ "288px", "100% - 24px" ]
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"debug01@rainbowpie_ui_common.debug_draw": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_debug_name": "rainbowpie_chat"
}
},
{
// ???/?? ??
"chat_stack": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"chat_panel@rainbowpieui_hud.chat_panel": {}
},
{
// ???/?? ??
"player_position": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_hud_hotbar_mode = 2)",
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%cm + 6px", 12 ],
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// ???
"alpha": 0.5,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_position_text@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", 10 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"enable_profanity_filter": false,
// ?? (R,G,B,A)
"color": "$chat_text_color",
// 보여줄 글자
"text": "#text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#player_position_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// ?? ???
"binding_condition": "always_when_visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#hud_text_background_alpha"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#hud_text_background_alpha > (1 - #hud_text_background_alpha)) / 3)",
// 결과가 들어갈 속성
"target_property_name": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_f733129c)"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"player_position_text_shadow@rainbowpie_ui_common.text_label_notheme": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_f733129c)",
// 가로/세로 크기
"size": [ "default", 10 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"enable_profanity_filter": false,
// ?? (R,G,B,A)
"color": "$chat_text_color",
// 보여줄 글자
"text": "#text",
"shadow": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#player_position_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// ?? ???
"binding_condition": "always_when_visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#hud_text_background_alpha"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#hud_text_background_alpha < (1 - #hud_text_background_alpha)) / 3)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#player_position_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// ?? ???
"binding_condition": "always",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#hud_text_background_alpha",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#alpha",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_f733129c)"
}
]
}
},
{
// ???/?? ??
"number_of_days_played": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_hud_hotbar_mode = 2)",
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%cm + 6px", 12 ],
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// ???
"alpha": 0.5,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"number_of_days_played_text@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", 10 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"enable_profanity_filter": false,
// ?? (R,G,B,A)
"color": "$chat_text_color",
// 보여줄 글자
"text": "#text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#number_of_days_played_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// ?? ???
"binding_condition": "always_when_visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#hud_text_background_alpha"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#hud_text_background_alpha > (1 - #hud_text_background_alpha)) / 3)",
// 결과가 들어갈 속성
"target_property_name": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_f733129c)"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"number_of_days_played_text_shadow@rainbowpie_ui_common.text_label_notheme": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_f733129c)",
// 가로/세로 크기
"size": [ "default", 10 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"enable_profanity_filter": false,
// ?? (R,G,B,A)
"color": "$chat_text_color",
// 보여줄 글자
"text": "#text",
"shadow": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#number_of_days_played_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// ?? ???
"binding_condition": "always_when_visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#hud_text_background_alpha"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#hud_text_background_alpha < (1 - #hud_text_background_alpha)) / 3)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#number_of_days_played_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// ?? ???
"binding_condition": "always",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#hud_text_background_alpha",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#alpha",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_f733129c)"
}
]
}
},
{
// ???/?? ??
"player_position_padding": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_hud_hotbar_mode = 2)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 12, 12 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #player_position_visible)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// ?? ???
"binding_condition": "always",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// ???/?? ??
"number_of_days_played_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 12, 12 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #number_of_days_played_visible)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// ?? ???
"binding_condition": "always",
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_hud_hotbar_mode = 2)"
}
]
}
}
]
}
}
]
},
// ???/?? ??
"chat_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "fill" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"debug01@rainbowpie_ui_common.debug_draw": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_debug_name": "chat_panel"
}
},
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 목록 아이템을 자동으로 생성
"factory": {
"name": "chat_item_factory",
"max_children_size": "$max_children_size",
// 팩토리 템플릿 매핑
"control_ids": {
"chat_item": "chat_item@rainbowpieui_hud.chat_grid_item"
},
// ???/?? ??
"factory_variables": [
"$rainbowpie_ui_theme_global_font_name",
"$rainbowpie_ui_theme_global_font_backup_name",
"$rainbowpie_ui_flag_chat_use_ui_font",
"$rainbowpie_ui_flag_chatui_default_font"
]
},
// 오버라이드 가능한 변수
"$max_children_size": 50,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_149baa36",
// 오버라이드 가능한 변수
"$max_children_size": 10
}
]
}
}
]
},
// ???/?? ??
"chat_grid_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// ?? ????
"clips_children": true,
// 애니메이션 목록
"anims": [
"@rainbowpieui_hud.chat_content_panel_anim",
"@rainbowpieui_hud.destroy_chat_wait"
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #on_new_death_screen)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 오버라이드 가능한 변수
"$chat_bg_opacity": 0.4,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_chatui_default_font",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_global_font_name": "default",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_global_font_backup_name": "default"
},
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_64fd7c05",
// 오버라이드 가능한 변수
"$chat_bg_opacity": "$chat_background_opacity"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"chat_text@rainbowpieui_hud.chat_label": {
"max_size": [ "100% - 10px", "default" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 33,
"shadow": "(($chat_bg_opacity * 100) < 40)",
// 애니메이션 목록
"anims": [
"@rainbowpieui_hud.anim_chat_intro_offset",
"@rainbowpieui_hud.anim_chat_text_wait"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"chat_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// ???
"alpha": "$chat_bg_opacity",
// 가로/세로 크기
"size": [ "100% + 5px", "default" ],
// 기준점에서 이동하는 거리
"offset": [ -1, 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 애니메이션 목록
"anims": [
"@rainbowpieui_hud.anim_chat_bg_wait"
]
}
}
]
}
}
]
},
// ???/?? ??
"anim_chat_intro_offset": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "out_cubic",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_chat_transition_time",
// 시작 값
"from": [ "-100%", 0 ],
// 끝 값
"to": [ 2, 0 ]
},
// ???/?? ??
"chat_content_panel_anim": {
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "out_cubic",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_chat_transition_time",
// 시작 값
"from": [ "100%", 0 ],
// 끝 값
"to": [ "100%", "100%c" ]
},
// ???/?? ??
"anim_chat_text_alpha": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_quart",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_chat_transition_time",
// 시작 값
"from": 1,
// 끝 값
"to": 0
},
// ???/?? ??
"anim_chat_text_wait": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": "$chat_item_lifetime",
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_hud.anim_chat_text_alpha"
},
// Set size to [ 0, 0 ] before destroying chat_grid_item
"destroy_chat_grid_item": {
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "in_quart",
"destroy_at_end": "chat_grid_item",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_chat_transition_time",
// 시작 값
"from": [ "100%", "100%c" ],
// 끝 값
"to": [ "100%", 0 ]
},
// ???/?? ??
"destroy_chat_wait": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": "$chat_item_lifetime",
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_hud.destroy_chat_grid_item"
},
// ???/?? ??
"anim_chat_bg_alpha": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_quart",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_chat_transition_time",
// 시작 값
"from": "$chat_bg_opacity",
// 끝 값
"to": "((not ($chat_bg_opacity = 0)) * 0.1)"
},
// ???/?? ??
"anim_chat_bg_wait": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": "$chat_item_lifetime",
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_hud.anim_chat_bg_alpha"
},
// ???/?? ??
"chat_label": {
// 글자 표시
"type": "label",
// 겹치는 순서(숫자 클수록 위)
"layer": 31,
// 보여줄 글자
"text": "#text",
// 가로/세로 크기
"size": [ "default", "default" ],
"shadow": false,
"enable_profanity_filter": "$rainbowpie_ui_flag_chat_message_profanity_filter",
"localize": false,
// ?? (R,G,B,A)
"color": "$chat_text_color",
// ??
"font_type": "$chat_font_type",
// ?? ?? ??
"font_scale_factor": "$chat_font_scale_factor",
"line_padding": "$chat_line_spacing",
// 애니메이션 목록
"anims": [
"@hud.anim_chat_txt_wait"
],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_flag_chat_use_ui_font and ($chat_font_type = 'default'))",
// 오버라이드 가능한 변수
"$chat_font_type": "$rainbowpie_ui_theme_global_font_name"
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#chat_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "chat_text_grid",
// ?? ???
"binding_condition": "once"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"borderless_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_hud.borderless_button_panel",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_color": [ 0.0, 0.0, 0.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.2,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_border_enabled": false,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 포커스 가능 여부
"focus_enabled": false,
// 처음 포커스 우선순위
"default_focus_precedence": 10,
"prevent_touch_input": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#inventory_touch_button",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// ???/?? ??
"borderless_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$button_controls|default": [],
// 이 안에 들어가는 부품 목록
"controls": "$button_controls"
},
// ???/?? ??
"rainbowpie_hotbar": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 42 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"debug01@rainbowpie_ui_common.debug_draw": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_debug_name": "rainbowpie_hotbar"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"horse_jump_rend@hud.horse_jump_renderer": {
// 기준점(어디에서 시작할지)
"anchor_from" : "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to" : "top_middle",
// 가로/세로 크기
"size" : [ 180, 5 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 11 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 17
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"dash_rend@hud.dash_renderer": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 가로/세로 크기
"size" : [ 180, 5 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 11 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 17
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"compatibility_panel@rainbowpieui_compatibility_config.compatibility_variables": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"exp_progress_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 180, 16 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 12,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"debug01@rainbowpie_ui_common.debug_draw": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_debug_name": "exp_progress_panel"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"progress_text_label@rainbowpie_ui_common.text_label_notheme": {
"shadow": true,
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 7,
// 보여줄 글자
"text": "#level_number",
// ?? (R,G,B,A)
"color": "$experience_text_color",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#level_number",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#level_number_visible",
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"expbar_empty_text@rainbowpie_ui_common.text_label_notheme": {
"shadow": true,
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 7,
// 보여줄 글자
"text": "$rainbowpie_ui_flag_hud_expbar_empty_text",
// ?? (R,G,B,A)
"color": "$experience_text_color",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #level_number_visible)",
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"empty_progress_bar": {
// 이미지 표시
"type": "image",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_expbar_texture": "textures/ui/White",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_expbar_size": [ "100%", 4 ],
// 사용할 이미지 경로
"texture": "$rainbowpie_localui_this_expbar_texture",
// 가로/세로 크기
"size": "$rainbowpie_localui_this_expbar_size",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_experience_empty_color",
// ???
"alpha": "$rainbowpie_ui_theme_experience_empty_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"empty_progress_bar": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "$rainbowpie_localui_this_expbar_texture",
// 가로/세로 크기
"size": "$rainbowpie_localui_this_expbar_size",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_experience_full_color",
// ???
"alpha": "$rainbowpie_ui_theme_experience_full_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// ??? ??
"clip_direction": "left",
// ?? ??
"clip_pixelperfect": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#exp_progress",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#clip_ratio",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
}
],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_hud_hotbar_rounded",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_expbar_texture": "($rainbowpie_ui_path_home + '/r_white_pill')",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_expbar_size": [ "100%", 5 ]
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#show_survival_ui"
},
{
// 가져올 값 이름
"binding_name": "#hotbar_with_locator_bar",
// 완전히 제거(공간도 없음)
"ignored": "(not (($compatibility_min_version > 1218000) or ($compatibility_min_version = 1218000)))"
},
{
// 가져올 값 이름
"binding_name": "#hotbar_with_xp_bar"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#hotbar_with_xp_bar)",
// 결과가 들어갈 속성
"target_property_name": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "(($compatibility_min_version > 1218000) or ($compatibility_min_version = 1218000))"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#show_survival_ui and (#hotbar_with_xp_bar or #hotbar_with_locator_bar))",
// 결과가 들어갈 속성
"target_property_name": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "(not (($compatibility_min_version > 1218000) or ($compatibility_min_version = 1218000)))"
}
]
}
},
{
// ???/?? ??
"locator_bar_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 180, 16 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 12,
// 완전히 제거(공간도 없음)
"ignored": "(not (($compatibility_min_version > 1218000) or ($compatibility_min_version = 1218000)))",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"locator_bar@hud.locator_bar": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_5354b722 and $mouse)",
// 가로/세로 크기
"size": [ "100%", 5 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0.5 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 10
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hotbar_with_locator_bar",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
},
{
// ???/?? ??
"hotbar_grid_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_grid@rainbowpieui_hud.hotbar_grid": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": "$offset",
// 오버라이드 가능한 변수
"$offset": [ 0, -1 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_flag_hud_hotbar_mode = 1)",
// 오버라이드 가능한 변수
"$offset": [ 0, -1.5 ]
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hotbar_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_hidehud_button@rainbowpieui_hud.borderless_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.hide_gui_all",
// ??/???
"enabled": true,
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ 20, 24 ],
// 기준점에서 이동하는 거리
"offset": [ -100, -0.5 ],
// 오버라이드 가능한 변수
"$button_controls": [
{
// ???/?? ??
"icon_text": {
// 글자 표시
"type": "label",
// ??
"font_type": "default",
// 보여줄 글자
"text": "H",
// ???
"alpha": 0.65,
// 겹치는 순서(숫자 클수록 위)
"layer": 10
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#layout_customization_main_panel_visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not #layout_customization_main_panel_visible)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
},
{
// 가져올 값 이름
"binding_name": "#inventory_touch_button",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_elipses_button@rainbowpieui_hud.borderless_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.hotbar_inventory_button",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ 20, 24 ],
// 기준점에서 이동하는 거리
"offset": [ 100, -0.5 ],
// 오버라이드 가능한 변수
"$button_controls": [
{
// ???/?? ??
"elipses": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ 10, 10 ],
// 기준점에서 이동하는 거리
"offset": [ 0.0, 0.5 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 사용할 이미지 경로
"texture": "$icon_texture",
// 오버라이드 가능한 변수
"$icon_texture": "($rainbowpie_ui_path_theme + '/icon/hud/inventory')",
// ???
"alpha": 0.65,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "(not ($rainbowpieui_branch_type = 'release'))",
// 오버라이드 가능한 변수
"$icon_texture": "($rainbowpie_ui_path_theme + '/icon/hud/inventory_ci')"
}
]
}
}
]
}
},
{
// ???/?? ??
"hotbar_background": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"animated_hotbar_slot_unselected_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 목록 이름
"collection_name": "hotbar_items",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ 180, 24 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -0.5 ],
// 오버라이드 가능한 변수
"$hotbar_collection_name": "hotbar_items",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_5e1f3f4e)",
// ?? ????
"clips_children": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"slot_0@rainbowpieui_hud.animated_hotbar_slot_unselected_panel": {
// 오버라이드 가능한 변수
"$collection_index": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"slot_1@rainbowpieui_hud.animated_hotbar_slot_unselected_panel": {
// 오버라이드 가능한 변수
"$collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"slot_2@rainbowpieui_hud.animated_hotbar_slot_unselected_panel": {
// 오버라이드 가능한 변수
"$collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"slot_3@rainbowpieui_hud.animated_hotbar_slot_unselected_panel": {
// 오버라이드 가능한 변수
"$collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"slot_4@rainbowpieui_hud.animated_hotbar_slot_unselected_panel": {
// 오버라이드 가능한 변수
"$collection_index": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"slot_5@rainbowpieui_hud.animated_hotbar_slot_unselected_panel": {
// 오버라이드 가능한 변수
"$collection_index": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"slot_6@rainbowpieui_hud.animated_hotbar_slot_unselected_panel": {
// 오버라이드 가능한 변수
"$collection_index": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"slot_7@rainbowpieui_hud.animated_hotbar_slot_unselected_panel": {
// 오버라이드 가능한 변수
"$collection_index": 7
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"slot_8@rainbowpieui_hud.animated_hotbar_slot_unselected_panel": {
// 오버라이드 가능한 변수
"$collection_index": 8
}
}
]
}
},
{
// ???/?? ??
"background_v1": {
// 보이기/숨기기(공간 유지)
"visible": "($rainbowpie_ui_flag_hud_hotbar_mode = 1)",
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ 180, 24 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -0.5 ],
// ???
"alpha": 0.2,
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_hotbar_texture": "textures/ui/Black",
// 사용할 이미지 경로
"texture": "$rainbowpie_localui_this_hotbar_texture",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_hud_hotbar_rounded",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_hotbar_texture": "($rainbowpie_ui_path_home + '/r_black')"
}
]
}
},
{
// ???/?? ??
"background_v2": {
// 보이기/숨기기(공간 유지)
"visible": "($rainbowpie_ui_flag_hud_hotbar_mode = 2)",
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ "100%", 24 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// ???
"alpha": 0.3,
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_position_text@rainbowpie_ui_common.text_label_notheme": {
// 완전히 제거(공간도 없음)
"ignored": "(not ($rainbowpie_ui_flag_hud_hotbar_mode = 2))",
// 기준점에서 이동하는 거리
"offset": [ 2, 1.5 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
"enable_profanity_filter": false,
// 보여줄 글자
"text": "#text",
"shadow": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#player_position_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// ?? ???
"binding_condition": "always",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#player_position_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// ?? ???
"binding_condition": "always",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// ???/?? ??
"player_count": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 가로/세로 크기
"size": [ "100%", 10 ],
// 기준점에서 이동하는 거리
"offset": [ 2, -1.5 ],
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_grid@rainbowpieui_hud.player_grid": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_playercount_textshadow": false,
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"grid_item_template": "rainbowpieui_hud.player_count",
// 오버라이드 가능한 변수
"$rainbowpie_localui_playerlist_full": true
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"player_info@rainbowpieui_hud.player_grid": {
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ 300, 24 ],
"grid_item_template": "rainbowpieui_hud.player_info_panel"
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hotbar_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
},
// ???/?? ??
"hotbar_grid": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 오버라이드 가능한 변수
"$hotbar_collection_name|default": "hotbar_items",
"grid_item_template": "rainbowpieui_hud.gui_hotbar_grid_item",
"grid_dimension_binding": "#hotbar_grid_dimensions",
// 목록 이름
"collection_name": "$hotbar_collection_name",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hotbar_grid_dimensions",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// ???/?? ??
"hotbar_slot_selected_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ 20, 24 ],
// ???
"alpha": 0.3,
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#slot_selected",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$hotbar_collection_name"
}
]
},
// ???/?? ??
"anim_hotbar_slot_selected": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_out_sine",
// 걸리는 시간(초)
"duration": 0.25,
// 시작 값
"from": 0.0,
// 끝 값
"to": 0.3
},
// ???/?? ??
"anim_hotbar_slot_unselected": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_out_sine",
// 걸리는 시간(초)
"duration": 0.25,
// 시작 값
"from": 0.3,
// 끝 값
"to": 0.0
},
// 다른 템플릿을 가져와서 확장(상속)
"anim_hotbar_slot_alpha_left@rainbowpieui_hud.anim_hotbar_slot_unselected": {
"destroy_at_end": "animated_hotbar_slot_unselected_image_left"
},
// 다른 템플릿을 가져와서 확장(상속)
"anim_hotbar_slot_alpha_right@rainbowpieui_hud.anim_hotbar_slot_unselected": {
"destroy_at_end": "animated_hotbar_slot_unselected_image_right"
},
// ???/?? ??
"anim_hotbar_slot_offset": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "out_cubic",
// 걸리는 시간(초)
"duration": 0.25
},
// 다른 템플릿을 가져와서 확장(상속)
"anim_hotbar_slot_offset_left@rainbowpieui_hud.anim_hotbar_slot_offset": {
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ "-100%x", 0 ]
},
// 다른 템플릿을 가져와서 확장(상속)
"anim_hotbar_slot_offset_right@rainbowpieui_hud.anim_hotbar_slot_offset": {
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ "100%x", 0 ]
},
// 다른 템플릿을 가져와서 확장(상속)
"animated_hotbar_slot_selected_image@rainbowpieui_hud.hotbar_slot_selected_image": {
// 애니메이션 목록
"anims": [
"@rainbowpieui_hud.anim_hotbar_slot_selected"
]
},
// 다른 템플릿을 가져와서 확장(상속)
"animated_hotbar_slot_unselected_image@rainbowpieui_hud.hotbar_slot_selected_image": {
// 게임 값과 연결하는 규칙 목록
"bindings": [],
// 애니메이션 목록
"anims": [
"@rainbowpieui_hud.anim_hotbar_slot_unselected"
]
},
// ???/?? ??
"animated_hotbar_slot_panel": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_5e1f3f4e)",
// 오버라이드 가능한 변수
"$is_selected": true,
// 오버라이드 가능한 변수
"$factory_name": "hotbar_slot_selected_factory",
// 오버라이드 가능한 변수
"$factory_control_name": "rainbowpieui_hud.animated_hotbar_slot_selected_image",
// 오버라이드 가능한 변수
"$collection_length_binding": "(1 * #slot_selected)",
// 오버라이드 가능한 변수
"$unselected_factory_control_name": "rainbowpieui_hud.animated_hotbar_slot_unselected_image",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "(not $is_selected)",
// 오버라이드 가능한 변수
"$factory_name": "hotbar_slot_unselected_factory",
// 오버라이드 가능한 변수
"$factory_control_name": "$unselected_factory_control_name",
// 오버라이드 가능한 변수
"$collection_length_binding": "(1 * (not #slot_selected))"
}
],
// 목록 아이템을 자동으로 생성
"factory": {
"name": "$factory_name",
// ??? ???
"control_name": "$factory_control_name",
"max_children_size": 1
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#slot_selected",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$hotbar_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "$collection_length_binding",
// 결과가 들어갈 속성
"target_property_name": "#collection_length"
}
]
},
// ???/?? ??
"anim_hotbar_slot_panel": {
// 투명도 변화
"anim_type": "alpha",
// 걸리는 시간(초)
"duration": 0
},
// 다른 템플릿을 가져와서 확장(상속)
"anim_hotbar_slot_panel_left@rainbowpieui_hud.anim_hotbar_slot_panel": {
// 시작 값
"from": 0,
// 끝 값
"to": 1,
"play_event": "button.hotbar_inventory_left"
},
// 다른 템플릿을 가져와서 확장(상속)
"anim_hotbar_slot_panel_right@rainbowpieui_hud.anim_hotbar_slot_panel": {
// 시작 값
"from": 0,
// 끝 값
"to": 1,
"play_event": "button.hotbar_inventory_right"
},
// ???/?? ??
"anim_hotbar_slot_destroy": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 0.0
},
// 다른 템플릿을 가져와서 확장(상속)
"anim_hotbar_slot_destroy_left@rainbowpieui_hud.anim_hotbar_slot_destroy": {
"destroy_at_end": "animated_hotbar_slot_unselected_image_left",
"play_event": "button.hotbar_inventory_left"
},
// 다른 템플릿을 가져와서 확장(상속)
"anim_hotbar_slot_destroy_right@rainbowpieui_hud.anim_hotbar_slot_destroy": {
"destroy_at_end": "animated_hotbar_slot_unselected_image_right",
"play_event": "button.hotbar_inventory_right"
},
// 다른 템플릿을 가져와서 확장(상속)
"animated_hotbar_slot_unselected_image_left@rainbowpieui_hud.hotbar_slot_selected_image": {
// 게임 값과 연결하는 규칙 목록
"bindings": [ ],
// 애니메이션 목록
"anims": [
"@rainbowpieui_hud.anim_hotbar_slot_alpha_left",
"@rainbowpieui_hud.anim_hotbar_slot_offset_left",
"@rainbowpieui_hud.anim_hotbar_slot_destroy_left"
]
},
// 다른 템플릿을 가져와서 확장(상속)
"animated_hotbar_slot_unselected_image_right@rainbowpieui_hud.hotbar_slot_selected_image": {
// 게임 값과 연결하는 규칙 목록
"bindings": [ ],
// 애니메이션 목록
"anims": [
"@rainbowpieui_hud.anim_hotbar_slot_alpha_right",
"@rainbowpieui_hud.anim_hotbar_slot_offset_right",
"@rainbowpieui_hud.anim_hotbar_slot_destroy_right"
]
},
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_slot_unselected_panel@rainbowpieui_hud.animated_hotbar_slot_panel": {
// ???
"alpha": 0.0,
"propagate_alpha": true,
// 오버라이드 가능한 변수
"$is_selected": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$hotbar_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#slot_selected",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$hotbar_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "$collection_length_binding",
// 결과가 들어갈 속성
"target_property_name": "#collection_length"
}
]
},
// ???/?? ??
"hotbar_slot_input": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 오버라이드 가능한 변수
"$hotbar_slot_id|default": "button.slot1",
// 오버라이드 가능한 변수
"$hotbar_button_id|default": "button.hotbar_inventory_left",
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "$hotbar_slot_id",
// 어떤 동작을 실행할지
"to_button_id": "$hotbar_button_id",
// 입력 시점(pressed 등)
"mapping_type": "global",
"consume_event": false
}
]
},
// ???/?? ??
"animated_hotbar_slot_unselected_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
"collection_index": "$collection_index",
// 가로/세로 크기
"size": [ 20, "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"input_mappings": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#slot_selected",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$hotbar_collection_name"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"to_slot1_left@rainbowpieui_hud.hotbar_slot_input": {
// 완전히 제거(공간도 없음)
"ignored": "($collection_index < 1)",
// 오버라이드 가능한 변수
"$hotbar_slot_id": "button.slot1",
// 오버라이드 가능한 변수
"$hotbar_button_id": "button.hotbar_inventory_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"to_slot2_left@rainbowpieui_hud.hotbar_slot_input": {
// 완전히 제거(공간도 없음)
"ignored": "($collection_index < 2)",
// 오버라이드 가능한 변수
"$hotbar_slot_id": "button.slot2",
// 오버라이드 가능한 변수
"$hotbar_button_id": "button.hotbar_inventory_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"to_slot3_left@rainbowpieui_hud.hotbar_slot_input": {
// 완전히 제거(공간도 없음)
"ignored": "($collection_index < 3)",
// 오버라이드 가능한 변수
"$hotbar_slot_id": "button.slot3",
// 오버라이드 가능한 변수
"$hotbar_button_id": "button.hotbar_inventory_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"to_slot4_left@rainbowpieui_hud.hotbar_slot_input": {
// 완전히 제거(공간도 없음)
"ignored": "($collection_index < 4)",
// 오버라이드 가능한 변수
"$hotbar_slot_id": "button.slot4",
// 오버라이드 가능한 변수
"$hotbar_button_id": "button.hotbar_inventory_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"to_slot5_left@rainbowpieui_hud.hotbar_slot_input": {
// 완전히 제거(공간도 없음)
"ignored": "($collection_index < 5)",
// 오버라이드 가능한 변수
"$hotbar_slot_id": "button.slot5",
// 오버라이드 가능한 변수
"$hotbar_button_id": "button.hotbar_inventory_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"to_slot6_left@rainbowpieui_hud.hotbar_slot_input": {
// 완전히 제거(공간도 없음)
"ignored": "($collection_index < 6)",
// 오버라이드 가능한 변수
"$hotbar_slot_id": "button.slot6",
// 오버라이드 가능한 변수
"$hotbar_button_id": "button.hotbar_inventory_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"to_slot7_left@rainbowpieui_hud.hotbar_slot_input": {
// 완전히 제거(공간도 없음)
"ignored": "($collection_index < 7)",
// 오버라이드 가능한 변수
"$hotbar_slot_id": "button.slot7",
// 오버라이드 가능한 변수
"$hotbar_button_id": "button.hotbar_inventory_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"to_slot8_left@rainbowpieui_hud.hotbar_slot_input": {
// 완전히 제거(공간도 없음)
"ignored": "($collection_index < 8)",
// 오버라이드 가능한 변수
"$hotbar_slot_id": "button.slot8",
// 오버라이드 가능한 변수
"$hotbar_button_id": "button.hotbar_inventory_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"to_slot2_right@rainbowpieui_hud.hotbar_slot_input": {
// 완전히 제거(공간도 없음)
"ignored": "($collection_index > 0)",
// 오버라이드 가능한 변수
"$hotbar_slot_id": "button.slot2",
// 오버라이드 가능한 변수
"$hotbar_button_id": "button.hotbar_inventory_right"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"to_slot3_right@rainbowpieui_hud.hotbar_slot_input": {
// 완전히 제거(공간도 없음)
"ignored": "($collection_index > 1)",
// 오버라이드 가능한 변수
"$hotbar_slot_id": "button.slot3",
// 오버라이드 가능한 변수
"$hotbar_button_id": "button.hotbar_inventory_right"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"to_slot4_right@rainbowpieui_hud.hotbar_slot_input": {
// 완전히 제거(공간도 없음)
"ignored": "($collection_index > 2)",
// 오버라이드 가능한 변수
"$hotbar_slot_id": "button.slot4",
// 오버라이드 가능한 변수
"$hotbar_button_id": "button.hotbar_inventory_right"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"to_slot5_right@rainbowpieui_hud.hotbar_slot_input": {
// 완전히 제거(공간도 없음)
"ignored": "($collection_index > 3)",
// 오버라이드 가능한 변수
"$hotbar_slot_id": "button.slot5",
// 오버라이드 가능한 변수
"$hotbar_button_id": "button.hotbar_inventory_right"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"to_slot6_right@rainbowpieui_hud.hotbar_slot_input": {
// 완전히 제거(공간도 없음)
"ignored": "($collection_index > 4)",
// 오버라이드 가능한 변수
"$hotbar_slot_id": "button.slot6",
// 오버라이드 가능한 변수
"$hotbar_button_id": "button.hotbar_inventory_right"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"to_slot7_right@rainbowpieui_hud.hotbar_slot_input": {
// 완전히 제거(공간도 없음)
"ignored": "($collection_index > 5)",
// 오버라이드 가능한 변수
"$hotbar_slot_id": "button.slot7",
// 오버라이드 가능한 변수
"$hotbar_button_id": "button.hotbar_inventory_right"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"to_slot8_right@rainbowpieui_hud.hotbar_slot_input": {
// 완전히 제거(공간도 없음)
"ignored": "($collection_index > 6)",
// 오버라이드 가능한 변수
"$hotbar_slot_id": "button.slot8",
// 오버라이드 가능한 변수
"$hotbar_button_id": "button.hotbar_inventory_right"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"to_slot9_right@rainbowpieui_hud.hotbar_slot_input": {
// 완전히 제거(공간도 없음)
"ignored": "($collection_index > 7)",
// 오버라이드 가능한 변수
"$hotbar_slot_id": "button.slot9",
// 오버라이드 가능한 변수
"$hotbar_button_id": "button.hotbar_inventory_right"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"animated_hotbar_slot_panel_left@rainbowpieui_hud.hotbar_slot_unselected_panel": {
// 오버라이드 가능한 변수
"$unselected_factory_control_name": "rainbowpieui_hud.animated_hotbar_slot_unselected_image_left",
"animation_reset_name": "button.hotbar_inventory_right",
// 애니메이션 목록
"anims": [
"@rainbowpieui_hud.anim_hotbar_slot_panel_left"
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"animated_hotbar_slot_panel_right@rainbowpieui_hud.hotbar_slot_unselected_panel": {
// 오버라이드 가능한 변수
"$unselected_factory_control_name": "rainbowpieui_hud.animated_hotbar_slot_unselected_image_right",
"animation_reset_name": "button.hotbar_inventory_left",
// 애니메이션 목록
"anims": [
"@rainbowpieui_hud.anim_hotbar_slot_panel_right"
]
}
}
]
},
// ???/?? ??
"gui_hotbar_grid_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ 20, 22 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 오버라이드 가능한 변수
"$stack_count_required|default": true,
// 오버라이드 가능한 변수
"$durability_bar_required|default": true,
// 오버라이드 가능한 변수
"$storage_bar_required|default": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"hotbar_slot_selected_image_rounded": {
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_hud_hotbar_rounded) or ($rainbowpie_ui_flag_hud_hotbar_mode = 2) or $rainbowpie_ui_flag_5e1f3f4e)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 20, 24 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_slot_selected_image@rainbowpieui_hud.hotbar_slot_selected_image": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$hotbar_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#slot_selected",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$hotbar_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#slot_selected and (not (#collection_index = 0) and not (#collection_index = 8)))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_slot_selected_image_left@rainbowpieui_hud.hotbar_slot_selected_image": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white_left')",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$hotbar_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#slot_selected",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$hotbar_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#slot_selected and (#collection_index = 0))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_slot_selected_image_right@rainbowpieui_hud.hotbar_slot_selected_image": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white_right')",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$hotbar_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#slot_selected",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$hotbar_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#slot_selected and (#collection_index = 8))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_slot_selected_image@rainbowpieui_hud.hotbar_slot_selected_image": {
// 완전히 제거(공간도 없음)
"ignored": "((not ((not $rainbowpie_ui_flag_hud_hotbar_rounded) or ($rainbowpie_ui_flag_hud_hotbar_mode = 2))) or $rainbowpie_ui_flag_5e1f3f4e)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"animated_hotbar_slot_selected_image@rainbowpieui_hud.animated_hotbar_slot_panel": {}
},
{
// ???/?? ??
"hotbar_parent": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 18, 18 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"item_icon@hud.hotbar_hud_item_icon": {
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 가로/세로 크기
"size": [ 16, 16 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_count@common.stack_count_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// 겹치는 순서(숫자 클수록 위)
"layer": 11,
// 오버라이드 가능한 변수
"$item_collection_name": "$hotbar_collection_name",
// 오버라이드 가능한 변수
"$stack_count_collection_name": "$hotbar_collection_name",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#inventory_stack_count",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$stack_count_collection_name"
}
]
}
},
{ "hotbar_hint@edu_common.hotbar_hint": {} },
{
// 다른 템플릿을 가져와서 확장(상속)
"item_dura@rainbowpieui_hud.item_durability": {
// 겹치는 순서(숫자 클수록 위)
"layer": 12
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_store@hud.item_storage": {
// 겹치는 순서(숫자 클수록 위)
"layer": 12
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_lock_overlay@hud.container_item_lock_overlay": {
// 겹치는 순서(숫자 클수록 위)
"layer": 15,
// 가로/세로 크기
"size": [ 16, 16 ]
}
}
]
}
},
{ "cooldown_renderer@hud.cooldown_renderer": { "layer": 18 } },
{ "hotbar_slot_button@hud.gui_hotbar_slot_button_prototype": {} }
]
},
// 다른 템플릿을 가져와서 확장(상속)
"item_durability@common.durability_bar": {
// 오버라이드 가능한 변수
"$durability_bar_required|default": true,
// 오버라이드 가능한 변수
"$item_collection_name": "$hotbar_collection_name",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#item_durability_total_amount",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#progress_bar_total_amount",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#item_durability_current_amount",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#progress_bar_current_amount",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#progress_bar_current_amount = #progress_bar_total_amount))",
// 결과가 들어갈 속성
"target_property_name": "#touch_progress_bar_visible"
}
]
},
// ???/?? ??
"player_info_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 300, 24 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"player_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "#texture",
// 가로/세로 크기
"size": [ 21, 21 ],
// 기준점에서 이동하는 거리
"offset": [ -1.5, 0 ],
// ??? ?? ???
"texture_file_system": "#texture_source",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 가져올 값 이름
"binding_name": "#texture_source",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#texture_source",
// 결과가 들어갈 속성
"target_property_name": "#texture_file_system"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#texture_source = 'RawPath'))",
// 결과가 들어갈 속성
"target_property_name": "#is_local_picture"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#is_local_picture)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"player_image_local": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/icon_steve",
// 가로/세로 크기
"size": [ 21, 21 ],
// 기준점에서 이동하는 거리
"offset": [ -1.5, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#texture_source",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#texture_source = 'RawPath'))",
// 결과가 들어갈 속성
"target_property_name": "#is_local_picture"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#is_local_picture",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"player_name@rainbowpie_ui_common.title_label": {
// ?? ?? ??
"font_scale_factor": 1.8,
// ?? ??
"text_alignment": "right",
// 보여줄 글자
"text": "#gamertag",
// 가로/세로 크기
"size": [ "default", "default" ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점에서 이동하는 거리
"offset": [ -26, 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#gamertag",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 0)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"override_tab_hotkey": {
// 클릭 가능한 버튼
"type": "button",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, "-200%" ],
// 가로/세로 크기
"size": [ "100%", "100%" ],
"pressed_control": "hud_elements",
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.scoreboard",
// 어떤 동작을 실행할지
"to_button_id": "button.scoreboard",
// 입력 시점(pressed 등)
"mapping_type": "global",
"consume_event": false
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"hud_elements": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, "200%" ],
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"compatibility_panel@rainbowpieui_compatibility_config.compatibility_variables": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"rainbowpie_hotbar": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 42 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"locator_bar_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 180, 16 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 12,
// 완전히 제거(공간도 없음)
"ignored": "(not (($compatibility_min_version > 1218000) or ($compatibility_min_version = 1218000)))",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"locator_bar@hud.locator_bar": {
// 완전히 제거(공간도 없음)
"ignored": "(not ($rainbowpie_ui_flag_5354b722 and $mouse))",
// 가로/세로 크기
"size": [ "100%", 5 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0.5 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 10
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hotbar_with_locator_bar",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_19efcc11"
}
]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"playerlist_new": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_d9ed3763)",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 13 ],
// 가로/세로 크기
"size": [ 443, 160 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"player_count": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 가로/세로 크기
"size": [ 221, 10 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -12 ],
// ?? ????
"clips_children": true,
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_1fa7dfd7)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_grid@rainbowpieui_hud.player_grid": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 가로/세로 크기
"size": [ 221, "100%c" ],
"grid_item_template": "rainbowpieui_hud.player_count_new",
// 오버라이드 가능한 변수
"$rainbowpie_localui_playerlist_full": true
}
}
]
}
},
{
// ???/?? ??
"player_count_v2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 가로/세로 크기
"size": [ 221, 12 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -10 ],
// ?? ????
"clips_children": true,
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_1fa7dfd7)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_grid@rainbowpieui_hud.player_grid": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 가로/세로 크기
"size": [ 221, "100%c" ],
"grid_item_template": "rainbowpieui_hud.player_count_v2",
// 오버라이드 가능한 변수
"$rainbowpie_localui_playerlist_full": true
}
}
]
}
},
{
// ???/?? ??
"playerlist_in_player_grid_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": "$playerlist_offset",
// 오버라이드 가능한 변수
"$playerlist_offset": [ 0, 0 ],
// ?? ????
"clips_children": true,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_1fa7dfd7",
// 오버라이드 가능한 변수
"$playerlist_offset": [ 0, 3 ]
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"debug01@rainbowpie_ui_common.debug_draw": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_debug_name": "playerlist_panel"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"player_grid@rainbowpieui_hud.player_grid": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"grid_item_template": "rainbowpieui_hud.playerlist_in_player_grid",
// 오버라이드 가능한 변수
"$rainbowpie_localui_playerlist_full": true
}
}
]
}
}
]
}
},
{
// ???/?? ??
"playerlist_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_d9ed3763",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 13 ],
// 가로/세로 크기
"size": [ 330, 150 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"debug01@rainbowpie_ui_common.debug_draw": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_debug_name": "playerlist_panel"
}
},
{
// ???/?? ??
"player_count": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 가로/세로 크기
"size": [ 221, 10 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -12 ],
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_grid@rainbowpieui_hud.player_grid": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 가로/세로 크기
"size": [ 221, "100%c" ],
"grid_item_template": "rainbowpieui_hud.player_count",
// 오버라이드 가능한 변수
"$rainbowpie_localui_playerlist_full": true
}
}
]
}
},
{
// ???/?? ??
"playerlist_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 가로/세로 크기
"size": [ "100%c", 150 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"playerlist_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", 150 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_grid@rainbowpieui_hud.player_grid": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 오버라이드 가능한 변수
"$rainbowpie_localui_playerlist_start_index": 0,
// 오버라이드 가능한 변수
"$rainbowpie_localui_playerlist_end_index": 10
}
}
]
}
},
{
// ???/?? ??
"playerlist_0_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// ???/?? ??
"playerlist_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", 150 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_grid@rainbowpieui_hud.player_grid": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -143 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_playerlist_start_index": 11,
// 오버라이드 가능한 변수
"$rainbowpie_localui_playerlist_end_index": 21
}
}
]
}
}
]
}
},
{
// ???/?? ??
"tip_background": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 143 ],
// 가로/세로 크기
"size": [ 221, 12 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_grid@rainbowpieui_hud.player_grid": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -264 ],
// 가로/세로 크기
"size": [ 221, "100%c" ],
"grid_item_template": "rainbowpieui_hud.toomany_players_tip",
// 오버라이드 가능한 변수
"$rainbowpie_localui_playerlist_start_index": 22,
// 오버라이드 가능한 변수
"$rainbowpie_localui_playerlist_end_index": 22
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"playerlist_in_player_grid": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 160 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"playerlist_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"playerlist_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", 156 ],
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_grid@rainbowpieui_hud.player_grid": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 오버라이드 가능한 변수
"$rainbowpie_localui_playerlist_start_index": 0,
// 오버라이드 가능한 변수
"$rainbowpie_localui_playerlist_end_index": 0
}
}
]
}
},
{
// ???/?? ??
"playerlist_0_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index > 11)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"playerlist_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", 156 ],
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_grid@rainbowpieui_hud.player_grid": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -156 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_playerlist_start_index": 0,
// 오버라이드 가능한 변수
"$rainbowpie_localui_playerlist_end_index": 0
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index > 11)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"playerlist_1_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index > 23)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"playerlist_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", 156 ],
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_grid@rainbowpieui_hud.player_grid": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -312 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_playerlist_start_index": 0,
// 오버라이드 가능한 변수
"$rainbowpie_localui_playerlist_end_index": 0
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index > 23)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"playerlist_2_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index > 35)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"playerlist_3": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", 156 ],
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_grid@rainbowpieui_hud.player_grid": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -468 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_playerlist_start_index": 0,
// 오버라이드 가능한 변수
"$rainbowpie_localui_playerlist_end_index": 0
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index > 35)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
]
},
// ???/?? ??
"player_count_v2_item": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"world_icon_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 10, 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"world_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/hud/tablist/world')",
// 가로/세로 크기
"size": [ 10, 10 ],
// 기준점에서 이동하는 거리
"offset": [ -2, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_custom_server_icon"
}
},
{
// ???/?? ??
"server_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/server_icon/' + $rainbowpie_ui_flag_custom_server_icon_name)",
// 가로/세로 크기
"size": [ 10, 10 ],
// 기준점에서 이동하는 거리
"offset": [ -2, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_custom_server_icon)"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"world_name_text@rainbowpie_ui_common.title_label": {
// 보여줄 글자
"text": "#player_list_title",
// 가로/세로 크기
"size": [ "default", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#player_list_title"
}
]
}
},
{
// ???/?? ??
"spacer_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "fill", 1 ]
}
},
{
// ???/?? ??
"player_icon_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 12, 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"player_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/hud/tablist/player')",
// 가로/세로 크기
"size": [ 10, 10 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"player_count_text@rainbowpie_ui_common.title_label": {
// 보여줄 글자
"text": "#player_count_str",
// 가로/세로 크기
"size": [ "default", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index + 1)",
// 결과가 들어갈 속성
"target_property_name": "#player_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #player_count + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#player_count_str"
}
]
}
}
]
},
// ???/?? ??
"player_count_v2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 221, 12 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@rainbowpie_ui_common.title_background": {
// 가로/세로 크기
"size": [ "100%c + 6px", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_count@rainbowpieui_hud.player_count_v2_item": {
// 가로/세로 크기
"size": [ 104, 10 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index < 12)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"player_count_wide@rainbowpieui_hud.player_count_v2_item": {
// 가로/세로 크기
"size": [ 215, 10 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index > 11)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
]
},
// ???/?? ??
"player_count_new": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 221, 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", 10 ],
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"player_count": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ 110, 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_count_text@rainbowpie_ui_common.title_label": {
"shadow": true,
// ?? ??
"text_alignment": "left",
// 보여줄 글자
"text": "#player_count_str",
// 가로/세로 크기
"size": [ "default", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#player_list_title"
},
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index + 1)",
// 결과가 들어갈 속성
"target_property_name": "#player_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #player_count + ' | ' + #player_list_title + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#player_count_str"
}
]
}
},
{
// ???/?? ??
"spacer_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "fill", 1 ]
}
}
]
}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 111, 10 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index > 11)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
]
},
// ???/?? ??
"player_count": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ 221, 10 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_playercount_textshadow|default": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_count_text@rainbowpie_ui_common.title_label": {
"shadow": "$rainbowpie_localui_playercount_textshadow",
// ?? ??
"text_alignment": "left",
// 보여줄 글자
"text": "#player_count_str",
// 가로/세로 크기
"size": [ "default", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index + 1)",
// 결과가 들어갈 속성
"target_property_name": "#player_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #player_count + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#player_count_str"
}
]
}
},
{
// ???/?? ??
"spacer_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"player_label@rainbowpie_ui_common.title_label": {
"shadow": "$rainbowpie_localui_playercount_textshadow",
// ?? ??
"text_alignment": "left",
// 보여줄 글자
"text": "rainbowpie.ui.hud.tablist.player_count",
// 가로/세로 크기
"size": [ "fill", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index + 1)",
// 결과가 들어갈 속성
"target_property_name": "#player_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#player_count = 1))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"player_label_single@rainbowpie_ui_common.title_label": {
"shadow": "$rainbowpie_localui_playercount_textshadow",
// ?? ??
"text_alignment": "left",
// 보여줄 글자
"text": "rainbowpie.ui.hud.tablist.player_count.single",
// 가로/세로 크기
"size": [ "fill", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index + 1)",
// 결과가 들어갈 속성
"target_property_name": "#player_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#player_count = 1)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
},
// ???/?? ??
"toomany_players_tip": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 221, 12 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"tip_background@rainbowpie_ui_common.text_background": {
// 가로/세로 크기
"size": [ 221, 12 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"tip_text@rainbowpie_ui_common.title_label": {
// ?? ??
"text_alignment": "center",
// 보여줄 글자
"text": "rainbowpie.ui.hud.tablist.maxplayers",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "100%", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 22)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
},
// ???/?? ??
"playerlist_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 110, 13 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_playerlist_start_index|default": 0,
// 오버라이드 가능한 변수
"$rainbowpie_localui_playerlist_end_index|default": 10,
// 오버라이드 가능한 변수
"$rainbowpie_localui_playerlist_full|default": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"playerlist_item_background@rainbowpie_ui_common.title_background": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 가로/세로 크기
"size": [ 110, 12 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"playerlist_item_panel@rainbowpieui_hud.playerlist_item_panel": {}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(((#collection_index > $rainbowpie_localui_playerlist_start_index) or (#collection_index = $rainbowpie_localui_playerlist_start_index) and ((#collection_index < $rainbowpie_localui_playerlist_end_index) or (#collection_index = $rainbowpie_localui_playerlist_end_index)))",
// 결과가 들어갈 속성
"target_property_name": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_playerlist_full"
}
]
}
}
]
},
// ???/?? ??
"playerlist_item_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 110, 12 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"player_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "#texture",
// 가로/세로 크기
"size": [ 12, 12 ],
// ??? ?? ???
"texture_file_system": "#texture_source",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 가져올 값 이름
"binding_name": "#texture_source",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#texture_source",
// 결과가 들어갈 속성
"target_property_name": "#texture_file_system"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#texture_source = 'RawPath'))",
// 결과가 들어갈 속성
"target_property_name": "#is_local_picture"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#is_local_picture)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"player_image_local": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/icon_steve",
// 가로/세로 크기
"size": [ 12, 12 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#texture_source",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#texture_source = 'RawPath'))",
// 결과가 들어갈 속성
"target_property_name": "#is_local_picture"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#is_local_picture",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"player_name_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점에서 이동하는 거리
"offset": [ 13, 0 ],
// 가로/세로 크기
"size": [ "100% - 14px", 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_name@rainbowpie_ui_common.title_label": {
// ?? ??
"text_alignment": "left",
// 보여줄 글자
"text": "#gamertag",
// 가로/세로 크기
"size": [ "fill", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#gamertag",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"tag_offline@rainbowpieui_hud.playertag": {
// 완전히 제거(공간도 없음)
"ignored": true, // 房主可能会被错误的显示为离线玩家
// ?? (R,G,B,A)
"color": [ 0.667, 0.667, 0.667 ],
// 보여줄 글자
"text": "rainbowpie.ui.hud.tablist.playertag.offline",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#gamerpic_visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not #gamerpic_visible)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"tag_self@rainbowpieui_hud.playertag": {
// 보이기/숨기기(공간 유지)
"visible": "$rainbowpie_ui_flag_tablist_selfTag",
// ?? (R,G,B,A)
"color": [ 0.333, 1.0, 0.333 ],
// 보여줄 글자
"text": "rainbowpie.ui.hud.tablist.playertag.self",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 0)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"player_count_text@rainbowpie_ui_common.title_label": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_debug)",
// 보여줄 글자
"text": "#player_count_str",
// 가로/세로 크기
"size": [ "default", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index + 1)",
// 결과가 들어갈 속성
"target_property_name": "#player_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #player_count + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#player_count_str"
}
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"playertag@rainbowpie_ui_common.text_label_notheme": {
// ?? ??
"text_alignment": "left",
// 가로/세로 크기
"size": [ "default", 10 ],
"max_size": [ "50%", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3
},
// ???/?? ??
"player_grid": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": [ 110, "100%c" ],
"grid_item_template": "rainbowpieui_hud.playerlist_item",
"grid_dimension_binding": "#players_grid_dimension",
// 목록 이름
"collection_name": "players_collection",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#players_grid_dimension"
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: in_bed_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_bed",
// ???/?? ??
"in_bed_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_content@rainbowpie_ui_common.screen_content": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_ingame_anim1": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_ingame_anim2": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"in_bed_screen_content@bed.in_bed_screen_content": {}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: inventory_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_crafting",
// 다른 템플릿을 가져와서 확장(상속)
"crafting_helper_container_item@rainbowpie_ui_common.cell_image": {
// 가로/세로 크기
"size": [ 18, 18 ],
// 오버라이드 가능한 변수
"$item_detail_control|default": "",
// 오버라이드 가능한 변수
"$item_count_control|default": "",
// 오버라이드 가능한 변수
"$item_count_result_name|default": "#result",
// 오버라이드 가능한 변수
"$is_craft_input|default": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"item_renderer@rainbowpie_ui_common.item_renderer": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$item_detail_control",
// 계산식/참조 값
"source_property_name": "#item_id_aux",
// 결과가 들어갈 속성
"target_property_name": "#item_id_aux"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$item_count_control",
// 계산식/참조 값
"source_property_name": "($item_count_result_name > 0)",
// 결과가 들어갈 속성
"target_property_name": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "(not $is_craft_input)"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"output_count_total@rainbowpie_ui_common.text_label": {
"shadow": true,
// 보여줄 글자
"text": "#item_stack_count_text",
// 기준점에서 이동하는 거리
"offset": [ 0, 1 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 12,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$item_count_control",
// 계산식/참조 값
"source_property_name": "$item_count_result_name",
// 결과가 들어갈 속성
"target_property_name": "#item_stack_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #item_stack_count + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#item_stack_count_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#item_stack_count > 1)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
},
// ???/?? ??
"crafting_helper_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_helper_background@rainbowpie_ui_common.text_background": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white')",
// 가로/세로 크기
"size": [ "100%c + 6px", "100%c + 4px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [ "100%x + 2px", 23 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_73085b33)",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "crafting_helper_output_slot",
// 계산식/참조 값
"source_property_name": "(not (#item_id_aux = -1))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"content_stack": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%cm", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "rainbowpie.ui.inventory.crafting_helper.title"
}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 1 ]
}
},
{
// ???/?? ??
"crafting_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"crafting_3x3_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 54, 54 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 보이기/숨기기(공간 유지)
"visible": "($top_half_variant = 'crafting.crafting_panel_top_half')",
// 오버라이드 가능한 변수
"$is_craft_input": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"3x3_craft_input_slot_0@rainbowpieui_crafting.crafting_helper_container_item": {
// 오버라이드 가능한 변수
"$item_detail_control": "crafting_helper_crafting_slot_0",
// 오버라이드 가능한 변수
"$item_count_control": "crafting_helper_crafting_slot_0",
// 오버라이드 가능한 변수
"$item_count_result_name": "#item_stack_count_after_craft",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"3x3_craft_input_slot_1@rainbowpieui_crafting.crafting_helper_container_item": {
// 오버라이드 가능한 변수
"$item_detail_control": "crafting_helper_crafting_slot_1",
// 오버라이드 가능한 변수
"$item_count_control": "crafting_helper_crafting_slot_1",
// 오버라이드 가능한 변수
"$item_count_result_name": "#item_stack_count_after_craft",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"3x3_craft_input_slot_2@rainbowpieui_crafting.crafting_helper_container_item": {
// 오버라이드 가능한 변수
"$item_detail_control": "crafting_helper_crafting_slot_2",
// 오버라이드 가능한 변수
"$item_count_control": "crafting_helper_crafting_slot_2",
// 오버라이드 가능한 변수
"$item_count_result_name": "#item_stack_count_after_craft",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"3x3_craft_input_slot_3@rainbowpieui_crafting.crafting_helper_container_item": {
// 오버라이드 가능한 변수
"$item_detail_control": "crafting_helper_crafting_slot_3",
// 오버라이드 가능한 변수
"$item_count_control": "crafting_helper_crafting_slot_3",
// 오버라이드 가능한 변수
"$item_count_result_name": "#item_stack_count_after_craft",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"3x3_craft_input_slot_4@rainbowpieui_crafting.crafting_helper_container_item": {
// 오버라이드 가능한 변수
"$item_detail_control": "crafting_helper_crafting_slot_4",
// 오버라이드 가능한 변수
"$item_count_control": "crafting_helper_crafting_slot_4",
// 오버라이드 가능한 변수
"$item_count_result_name": "#item_stack_count_after_craft",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"3x3_craft_input_slot_5@rainbowpieui_crafting.crafting_helper_container_item": {
// 오버라이드 가능한 변수
"$item_detail_control": "crafting_helper_crafting_slot_5",
// 오버라이드 가능한 변수
"$item_count_control": "crafting_helper_crafting_slot_5",
// 오버라이드 가능한 변수
"$item_count_result_name": "#item_stack_count_after_craft",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"3x3_craft_input_slot_6@rainbowpieui_crafting.crafting_helper_container_item": {
// 오버라이드 가능한 변수
"$item_detail_control": "crafting_helper_crafting_slot_6",
// 오버라이드 가능한 변수
"$item_count_control": "crafting_helper_crafting_slot_6",
// 오버라이드 가능한 변수
"$item_count_result_name": "#item_stack_count_after_craft",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"3x3_craft_input_slot_7@rainbowpieui_crafting.crafting_helper_container_item": {
// 오버라이드 가능한 변수
"$item_detail_control": "crafting_helper_crafting_slot_7",
// 오버라이드 가능한 변수
"$item_count_control": "crafting_helper_crafting_slot_7",
// 오버라이드 가능한 변수
"$item_count_result_name": "#item_stack_count_after_craft",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"3x3_craft_input_slot_8@rainbowpieui_crafting.crafting_helper_container_item": {
// 오버라이드 가능한 변수
"$item_detail_control": "crafting_helper_crafting_slot_8",
// 오버라이드 가능한 변수
"$item_count_control": "crafting_helper_crafting_slot_8",
// 오버라이드 가능한 변수
"$item_count_result_name": "#item_stack_count_after_craft",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right"
}
}
]
}
},
{
// ???/?? ??
"crafting_2x2_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 36, 36 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 보이기/숨기기(공간 유지)
"visible": "($top_half_variant = 'crafting.survival_panel_top_half')",
// 오버라이드 가능한 변수
"$is_craft_input": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"2x2_craft_input_slot_0@rainbowpieui_crafting.crafting_helper_container_item": {
// 오버라이드 가능한 변수
"$item_detail_control": "crafting_helper_crafting_slot_0",
// 오버라이드 가능한 변수
"$item_count_control": "crafting_helper_crafting_slot_0",
// 오버라이드 가능한 변수
"$item_count_result_name": "#item_stack_count_after_craft",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"2x2_craft_input_slot_1@rainbowpieui_crafting.crafting_helper_container_item": {
// 오버라이드 가능한 변수
"$item_detail_control": "crafting_helper_crafting_slot_1",
// 오버라이드 가능한 변수
"$item_count_control": "crafting_helper_crafting_slot_1",
// 오버라이드 가능한 변수
"$item_count_result_name": "#item_stack_count_after_craft",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"2x2_craft_input_slot_2@rainbowpieui_crafting.crafting_helper_container_item": {
// 오버라이드 가능한 변수
"$item_detail_control": "crafting_helper_crafting_slot_2",
// 오버라이드 가능한 변수
"$item_count_control": "crafting_helper_crafting_slot_2",
// 오버라이드 가능한 변수
"$item_count_result_name": "#item_stack_count_after_craft",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"2x2_craft_input_slot_3@rainbowpieui_crafting.crafting_helper_container_item": {
// 오버라이드 가능한 변수
"$item_detail_control": "crafting_helper_crafting_slot_3",
// 오버라이드 가능한 변수
"$item_count_control": "crafting_helper_crafting_slot_3",
// 오버라이드 가능한 변수
"$item_count_result_name": "#item_stack_count_after_craft",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_arrow@crafting.crafting_arrow": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 기준점에서 이동하는 거리
"offset": [ -20, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
]
}
},
{
// ???/?? ??
"arrow_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_output@rainbowpieui_crafting.crafting_helper_container_item": {
// 오버라이드 가능한 변수
"$item_detail_control": "crafting_helper_output_slot",
// 오버라이드 가능한 변수
"$item_count_control": "crafting_helper_output_count_total",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle"
}
}
]
}
},
{
// ???/?? ??
"padding_bottom": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 1 ]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"crafting_helper_slot_detail": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#inventory_stack_count",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not (#item_id_aux = -1)) * (((#inventory_stack_count = 0) * 1) + (#inventory_stack_count * 1)))",
// 결과가 들어갈 속성
"target_property_name": "#item_stack_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "crafting_helper_crafting_slot_minimum_count",
// 계산식/참조 값
"source_property_name": "#result",
// 결과가 들어갈 속성
"target_property_name": "#minimum_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#item_stack_count - #minimum_count)",
// 결과가 들어갈 속성
"target_property_name": "#item_stack_count_after_craft"
}
]
},
// ???/?? ??
"crafting_helper_output_slot_detail": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 목록 이름
"collection_name": "crafting_output_items",
// 오버라이드 가능한 변수
"$item_collection_name": "crafting_output_items",
// 가로/세로 크기
"size": [ 0, 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_helper_output_slot@rainbowpieui_crafting.crafting_helper_slot_detail": {
"collection_index": 0
}
}
]
},
// ???/?? ??
"crafting_helper_crafting_slot_detail": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 목록 이름
"collection_name": "crafting_input_items",
// 오버라이드 가능한 변수
"$item_collection_name": "crafting_input_items",
// 가로/세로 크기
"size": [ 0, 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_helper_crafting_slot_0@rainbowpieui_crafting.crafting_helper_slot_detail": {
"collection_index": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_helper_crafting_slot_1@rainbowpieui_crafting.crafting_helper_slot_detail": {
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_helper_crafting_slot_2@rainbowpieui_crafting.crafting_helper_slot_detail": {
"collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_helper_crafting_slot_3@rainbowpieui_crafting.crafting_helper_slot_detail": {
"collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_helper_crafting_slot_4@rainbowpieui_crafting.crafting_helper_slot_detail": {
"collection_index": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_helper_crafting_slot_5@rainbowpieui_crafting.crafting_helper_slot_detail": {
"collection_index": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_helper_crafting_slot_6@rainbowpieui_crafting.crafting_helper_slot_detail": {
"collection_index": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_helper_crafting_slot_7@rainbowpieui_crafting.crafting_helper_slot_detail": {
"collection_index": 7
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_helper_crafting_slot_8@rainbowpieui_crafting.crafting_helper_slot_detail": {
"collection_index": 8
}
}
]
},
// 3x3 (9) 取值最小 (By DeepSeek AI)
"crafting_helper_crafting_slot_minimum_count": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#a": 0,
// ???/??? ?
"#b": 0,
// ???/??? ?
"#c": 0,
// ???/??? ?
"#d": 0,
// ???/??? ?
"#e": 0,
// ???/??? ?
"#f": 0,
// ???/??? ?
"#g": 0,
// ???/??? ?
"#h": 0,
// ???/??? ?
"#i": 0,
// ???/??? ?
"#result": -1
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "crafting_helper_crafting_slot_0",
// 계산식/참조 값
"source_property_name": "#item_stack_count",
// 결과가 들어갈 속성
"target_property_name": "#a"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "crafting_helper_crafting_slot_1",
// 계산식/참조 값
"source_property_name": "#item_stack_count",
// 결과가 들어갈 속성
"target_property_name": "#b"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "crafting_helper_crafting_slot_2",
// 계산식/참조 값
"source_property_name": "#item_stack_count",
// 결과가 들어갈 속성
"target_property_name": "#c"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "crafting_helper_crafting_slot_3",
// 계산식/참조 값
"source_property_name": "#item_stack_count",
// 결과가 들어갈 속성
"target_property_name": "#d"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "crafting_helper_crafting_slot_4",
// 계산식/참조 값
"source_property_name": "#item_stack_count",
// 결과가 들어갈 속성
"target_property_name": "#e"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "crafting_helper_crafting_slot_5",
// 계산식/참조 값
"source_property_name": "#item_stack_count",
// 결과가 들어갈 속성
"target_property_name": "#f"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "crafting_helper_crafting_slot_6",
// 계산식/참조 값
"source_property_name": "#item_stack_count",
// 결과가 들어갈 속성
"target_property_name": "#g"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "crafting_helper_crafting_slot_7",
// 계산식/참조 값
"source_property_name": "#item_stack_count",
// 결과가 들어갈 속성
"target_property_name": "#h"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "crafting_helper_crafting_slot_8",
// 계산식/참조 값
"source_property_name": "#item_stack_count",
// 결과가 들어갈 속성
"target_property_name": "#i"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#a > 0) * #a + (#a < 1) * 9990)",
// 결과가 들어갈 속성
"target_property_name": "#adjusted_a"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#b > 0) * #b + (#b < 1) * 9990)",
// 결과가 들어갈 속성
"target_property_name": "#adjusted_b"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#c > 0) * #c + (#c < 1) * 9990)",
// 결과가 들어갈 속성
"target_property_name": "#adjusted_c"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#d > 0) * #d + (#d < 1) * 9990)",
// 결과가 들어갈 속성
"target_property_name": "#adjusted_d"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#e > 0) * #e + (#e < 1) * 9990)",
// 결과가 들어갈 속성
"target_property_name": "#adjusted_e"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#f > 0) * #f + (#f < 1) * 9990)",
// 결과가 들어갈 속성
"target_property_name": "#adjusted_f"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#g > 0) * #g + (#g < 1) * 9990)",
// 결과가 들어갈 속성
"target_property_name": "#adjusted_g"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#h > 0) * #h + (#h < 1) * 9990)",
// 결과가 들어갈 속성
"target_property_name": "#adjusted_h"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#i > 0) * #i + (#i < 1) * 9990)",
// 결과가 들어갈 속성
"target_property_name": "#adjusted_i"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#adjusted_a < #adjusted_b) * #adjusted_a + (#adjusted_b < #adjusted_a) * #adjusted_b + (#adjusted_a = #adjusted_b) * #adjusted_a)",
// 결과가 들어갈 속성
"target_property_name": "#temp_1"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#temp_1 < #adjusted_c) * #temp_1 + (#adjusted_c < #temp_1) * #adjusted_c + (#temp_1 = #adjusted_c) * #temp_1)",
// 결과가 들어갈 속성
"target_property_name": "#temp_2"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#temp_2 < #adjusted_d) * #temp_2 + (#adjusted_d < #temp_2) * #adjusted_d + (#temp_2 = #adjusted_d) * #temp_2)",
// 결과가 들어갈 속성
"target_property_name": "#temp_3"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#temp_3 < #adjusted_e) * #temp_3 + (#adjusted_e < #temp_3) * #adjusted_e + (#temp_3 = #adjusted_e) * #temp_3)",
// 결과가 들어갈 속성
"target_property_name": "#temp_4"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#temp_4 < #adjusted_f) * #temp_4 + (#adjusted_f < #temp_4) * #adjusted_f + (#temp_4 = #adjusted_f) * #temp_4)",
// 결과가 들어갈 속성
"target_property_name": "#temp_5"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#temp_5 < #adjusted_g) * #temp_5 + (#adjusted_g < #temp_5) * #adjusted_g + (#temp_5 = #adjusted_g) * #temp_5)",
// 결과가 들어갈 속성
"target_property_name": "#temp_6"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#temp_6 < #adjusted_h) * #temp_6 + (#adjusted_h < #temp_6) * #adjusted_h + (#temp_6 = #adjusted_h) * #temp_6)",
// 결과가 들어갈 속성
"target_property_name": "#temp_7"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#temp_7 < #adjusted_i) * #temp_7 + (#adjusted_i < #temp_7) * #adjusted_i + (#temp_7 = #adjusted_i) * #temp_7)",
// 결과가 들어갈 속성
"target_property_name": "#result"
}
]
},
// ???/?? ??
"crafting_helper_output_count_total": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "crafting_helper_crafting_slot_minimum_count",
// 계산식/참조 값
"source_property_name": "#result",
// 결과가 들어갈 속성
"target_property_name": "#minimum_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "crafting_helper_output_slot",
// 계산식/참조 값
"source_property_name": "#item_stack_count",
// 결과가 들어갈 속성
"target_property_name": "#item_stack_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#item_stack_count * #minimum_count)",
// 결과가 들어갈 속성
"target_property_name": "#result"
}
]
},
// ???/?? ??
"crafting_helper_controller": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_73085b33)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_helper_output_slot_detail@rainbowpieui_crafting.crafting_helper_output_slot_detail": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_helper_crafting_slot_detail@rainbowpieui_crafting.crafting_helper_crafting_slot_detail": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_helper_crafting_slot_minimum_count@rainbowpieui_crafting.crafting_helper_crafting_slot_minimum_count": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_helper_output_count_total@rainbowpieui_crafting.crafting_helper_output_count_total": {}
}
]
},
// ???/?? ??
"recipe_cell_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"recipe_container_cell_images@crafting.recipe_container_cell_images": {}
},
{
// ???/?? ??
"fastplace_slot_panel": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
"consume_hover_events": "$touch",
// 겹치는 순서(숫자 클수록 위)
"layer": 22,
// 보이기/숨기기(공간 유지)
"visible": false,
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_29bdcf8a) or (not $rainbowpie_ui_flag_84df7492))",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventoryui_fastplace",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#inventoryui_fastplace_enabled"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not (#item_id_aux = -1)) and #inventoryui_fastplace_enabled)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.container_auto_place",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.container_auto_place",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
}
]
}
},
{
// ???/?? ??
"result_slot_border": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/focus_border_white",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// ?? (R,G,B,A)
"color": [ 0.0, 1.0, 0.0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 보이기/숨기기(공간 유지)
"visible": false,
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_d6bb54d8) or (not $rainbowpie_ui_flag_84df7492))",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hover_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #hover_text - '\n' - '§0' - '§1' - '§2' - '§3' - '§4' - '§5' - '§6' - '§7' - '§8' - '§9' - '§a' - '§b' - '§c' - '§d' - '§e' - '§f' - '§g' - '§h' - '§i' - '§j' - '§k' - '§l' - '§m' - '§n' - '§o' - '§p' - '§q' - '§r' - '§s' - '§t' - '§u' - '§v' - '§w' - '§x' - '§y' - '§z' + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#formatted_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inventoryui_search_text_box_display_text",
// 계산식/참조 값
"source_property_name": "#item_name",
// 결과가 들어갈 속성
"target_property_name": "#query_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#formatted_name - #query_text) = #formatted_name))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
},
// ???/?? ??
"action_cell_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"cell_panel@rainbowpie_ui_inventory_and_container.cell_panel": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_actions_cell_panel@rainbowpie_module_inventory_actions.inventory_actions_cell_panel": {}
}
]
},
// ???/?? ??
"vanilla_search_button_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"search_icon": {
// 이미지 표시
"type": "image",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 가로/세로 크기
"size": [ 8, 8 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -0.5 ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/search')"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"button_text@rainbowpie_ui_common.text_label": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 가로/세로 크기
"size": [ "100% - 10px", "default" ],
// 기준점에서 이동하는 거리
"offset": [ 10, 0 ],
// 보여줄 글자
"text": "rainbowpie.ui.inventory.search_button",
// ?? (R,G,B,A)
"color": "$text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#text_box_item_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#text_box_item_name = '')",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"button_text_search@rainbowpie_ui_common.text_label": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 가로/세로 크기
"size": [ "100% - 10px", "default" ],
// 기준점에서 이동하는 거리
"offset": [ 10, 0 ],
// 보여줄 글자
"text": "#text_box_item_name",
// ?? (R,G,B,A)
"color": "$text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#text_box_item_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#text_box_item_name = ''))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"vanilla_search_button_toggle_base@common_toggles.light_ui_toggle": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_crafting.vanilla_search_button_content",
// 오버라이드 가능한 변수
"$button_type_panel": "common_buttons.new_ui_binding_button_label",
// 오버라이드 가능한 변수
"$button_text_binding_type": "none",
// 오버라이드 가능한 변수
"$button_binding_condition": "none",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "none",
// 오버라이드 가능한 변수
"$button_text": "",
// 오버라이드 가능한 변수
"$button_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpie_inventoryui_vanilla_item_search",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 1001,
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 0,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": ""
},
// ???/?? ??
"recipe_book_exit_animation_push": {
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_container_v2_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_container_v2_transition_time",
// 끝 값
"to": [ "71px", "100%" ],
// 시작 값
"from": [ "150px", "100%" ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"recipe_book_exit_animation_pop": {
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_container_v2_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_container_v2_transition_time",
// 끝 값
"to": [ "71px", "100%" ],
// 시작 값
"from": [ "150px", "100%" ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"recipe_book_entrance_animation_push": {
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_container_v2_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_container_v2_transition_time",
// 끝 값
"to": [ "150px", "100%" ],
// 시작 값
"from": [ "71px", "100%" ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"recipe_book_entrance_animation_pop": {
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_container_v2_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_container_v2_transition_time",
// 끝 값
"to": [ "150px", "100%" ],
// 시작 값
"from": [ "71px", "100%" ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"compass_panel_exit_animation_push": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_container_v2_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_container_v2_transition_time",
// 끝 값
"to": "$compass_panel_exit_offset",
// 시작 값
"from": "$compass_panel_entrance_offset",
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"compass_panel_exit_animation_pop": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_container_v2_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_container_v2_transition_time",
// 끝 값
"to": "$compass_panel_exit_offset",
// 시작 값
"from": "$compass_panel_entrance_offset",
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"compass_panel_entrance_animation_push": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_container_v2_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_container_v2_transition_time",
// 끝 값
"to": "$compass_panel_entrance_offset",
// 시작 값
"from": "$compass_panel_exit_offset",
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"compass_panel_entrance_animation_pop": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_container_v2_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_container_v2_transition_time",
// 끝 값
"to": "$compass_panel_entrance_offset",
// 시작 값
"from": "$compass_panel_exit_offset",
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"compass_panel": {
// 이미지 표시
"type": "image",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_9920f05c)",
// 보이기/숨기기(공간 유지)
"visible": true,
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white')",
// 가로/세로 크기
"size": [ "100%c + 5px", "100%c + 5px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점에서 이동하는 거리
"offset": "$compass_panel_entrance_offset",
// 오버라이드 가능한 변수
"$compass_panel_entrance_offset": [ 0, "-45%" ],
// 오버라이드 가능한 변수
"$compass_panel_exit_offset": [ 0, "-55%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_background_alpha",
// 애니메이션 목록
"anims": [
"@rainbowpieui_crafting.compass_panel_exit_animation_push",
"@rainbowpieui_crafting.compass_panel_exit_animation_pop",
"@rainbowpieui_crafting.compass_panel_entrance_animation_push",
"@rainbowpieui_crafting.compass_panel_entrance_animation_pop"
],
"animation_reset_name": "screen_animation_reset",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_flag_inventory_compass_postion = 1)",
// 오버라이드 가능한 변수
"$compass_panel_entrance_offset": [ 0, 90 ],
// 오버라이드 가능한 변수
"$compass_panel_exit_offset": [ 0, "55%" ]
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "(not #is_creative_layout)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "(not ($rainbowpie_ui_flag_inventory_compass_postion = 1))"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"compass_stack_panel@rainbowpieui_compatibility_config.compatibility_variables": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"clock@crafting.item_renderer": {
// 가로/세로 크기
"size": [ 16, 16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#item_id_aux": "($rainbowpie_ui_flag_item_clock_id * 65536)"
}
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"compass@crafting.item_renderer": {
// 가로/세로 크기
"size": [ 16, 16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#item_id_aux": "($rainbowpie_ui_flag_item_compass_id * 65536)"
}
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"recovery_compass@crafting.item_renderer": {
// 가로/세로 크기
"size": [ 16, 16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#item_id_aux": "($rainbowpie_ui_flag_item_recovery_compass_id * 65536)"
}
}
}
]
}
}
]
},
// ???/?? ??
"armor_durability_panel_exit_animation_push": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_container_v2_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_container_v2_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ "30%x", 0 ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"armor_durability_panel_exit_animation_pop": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_container_v2_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_container_v2_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ "30%x", 0 ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"armor_durability_panel_entrance_animation_push": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_container_v2_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_container_v2_transition_time",
// 시작 값
"from": [ "30%x", 0 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"armor_durability_panel_entrance_animation_pop": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_container_v2_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_container_v2_transition_time",
// 시작 값
"from": [ "30%x", 0 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// 다른 템플릿을 가져와서 확장(상속)
"inventory_icon@crafting.inventory_icon": {
// 가로/세로 크기
"size": [ "100%", "100%" ]
},
// 다른 템플릿을 가져와서 확장(상속)
"recipe_book_icon@crafting.recipe_book_icon": {
// 가로/세로 크기
"size": [ "100%", "100%" ]
},
// 다른 템플릿을 가져와서 확장(상속)
"creative_icon@crafting.creative_icon": {
// 가로/세로 크기
"size": [ "100%", "100%" ]
},
// ???/?? ??
"player_inventory": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 172, 156 ], // 176 center
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"root_panel@rainbowpieui_crafting.player_inventory_root_panel": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right"
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"player_inventory_root_panel@common.root_panel": {
// 가로/세로 크기
"size": [ 168, 179 ],
// 오버라이드 가능한 변수
"$animation_ignored|default": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_search_ignored|default": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_helper_panel@rainbowpieui_crafting.crafting_helper_panel": {
// 오버라이드 가능한 변수
"$anims": [
"@rainbowpieui_crafting.armor_durability_panel_exit_animation_push",
"@rainbowpieui_crafting.armor_durability_panel_exit_animation_pop",
"@rainbowpieui_crafting.armor_durability_panel_entrance_animation_push",
"@rainbowpieui_crafting.armor_durability_panel_entrance_animation_pop"
],
// 애니메이션 목록
"anims": "$anims",
"animation_reset_name": "screen_animation_reset",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$animation_ignored",
// 오버라이드 가능한 변수
"$anims": []
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_durability_panel@rainbowpieui_crafting.armor_durability_panel_v2": {
// 오버라이드 가능한 변수
"$anims": [
"@rainbowpieui_crafting.armor_durability_panel_exit_animation_push",
"@rainbowpieui_crafting.armor_durability_panel_exit_animation_pop",
"@rainbowpieui_crafting.armor_durability_panel_entrance_animation_push",
"@rainbowpieui_crafting.armor_durability_panel_entrance_animation_pop"
],
// 애니메이션 목록
"anims": "$anims",
"animation_reset_name": "screen_animation_reset",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$animation_ignored",
// 오버라이드 가능한 변수
"$anims": []
}
]
}
},
{
// ???/?? ??
"inventory_ui_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$anims": [
"@rainbowpie_ui_animations.container_panel_exit_animation_push",
"@rainbowpie_ui_animations.container_panel_exit_animation_pop",
"@rainbowpie_ui_animations.container_panel_entrance_animation_push",
"@rainbowpie_ui_animations.container_panel_entrance_animation_pop"
],
// 애니메이션 목록
"anims": "$anims",
"animation_reset_name": "screen_animation_reset",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$animation_ignored",
// 오버라이드 가능한 변수
"$anims": []
}
],
// 오버라이드 가능한 변수
"$background_images": "rainbowpieui_crafting.action_cell_panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_background_icon@rainbowpie_ui_inventory.background_icon": {
// 가로/세로 크기
"size": "$size",
// 기준점에서 이동하는 거리
"offset": "$offset",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$anchor_to",
// 기준점(어디에서 시작할지)
"anchor_from": "$anchor_from",
// 사용할 이미지 경로
"texture": "$texture",
// ???
"alpha": "$alpha",
"fill": "$fill",
// 오버라이드 가능한 변수
"$size": "$rainbowpie_ui_theme_inventory_bgicon_crafting_size",
// 오버라이드 가능한 변수
"$offset": "$rainbowpie_ui_theme_inventory_bgicon_crafting_offset",
// 오버라이드 가능한 변수
"$anchor_to": "$rainbowpie_ui_theme_inventory_bgicon_crafting_anchor",
// 오버라이드 가능한 변수
"$anchor_from": "$rainbowpie_ui_theme_inventory_bgicon_crafting_anchor",
// 오버라이드 가능한 변수
"$texture": "$rainbowpie_ui_theme_inventory_bgicon_crafting_texture",
// 오버라이드 가능한 변수
"$alpha": "$rainbowpie_ui_theme_inventory_bgicon_crafting_alpha",
// 오버라이드 가능한 변수
"$fill": "$rainbowpie_ui_theme_inventory_bgicon_crafting_fill",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($top_half_variant = 'crafting.crafting_panel_top_half')",
// 오버라이드 가능한 변수
"$size": "$rainbowpie_ui_theme_inventory_bgicon_craftingtable_size",
// 오버라이드 가능한 변수
"$offset": "$rainbowpie_ui_theme_inventory_bgicon_craftingtable_offset",
// 오버라이드 가능한 변수
"$anchor_to": "$rainbowpie_ui_theme_inventory_bgicon_craftingtable_anchor",
// 오버라이드 가능한 변수
"$anchor_from": "$rainbowpie_ui_theme_inventory_bgicon_craftingtable_anchor",
// 오버라이드 가능한 변수
"$texture": "$rainbowpie_ui_theme_inventory_bgicon_craftingtable_texture",
// 오버라이드 가능한 변수
"$alpha": "$rainbowpie_ui_theme_inventory_bgicon_craftingtable_alpha",
// 오버라이드 가능한 변수
"$fill": "$rainbowpie_ui_theme_inventory_bgicon_craftingtable_fill"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background_icon@rainbowpie_ui_inventory.background_icon": {
// 사용할 이미지 경로
"texture": "$rainbowpie_ui_theme_inventory_bgicon_texture_inventory"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_actions_inventory@rainbowpie_module_inventory_actions.inventory_actions_inventory": {
// 오버라이드 가능한 변수
"$action_button_stack_panel_size": [ "13.0952380952381%", "100%c" ],
// 오버라이드 가능한 변수
"$action_button_stack_panel_max_size": [ "13.0952380952381%", "100%" ],
// 오버라이드 가능한 변수
"$padding_size": [ "100%", "9.090909090909091%x" ]
}
},
{
// ???/?? ??
"toolbar_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 가로/세로 크기
"size": [ "100%", "12.84916201117318%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"toolbar_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "default", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"inventory_mode_tabs_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "default", "100%" ],
// 보이기/숨기기(공간 유지)
"visible": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_search_box",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_d6bb54d8) or (not $rainbowpie_ui_flag_84df7492) or $rainbowpie_localui_inventoryheader_search_ignored)"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"left_trigger_anchor": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#gamepad_helper_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"gamepad_helper_left_trigger@common.gamepad_helper_left_trigger": {
// 기준점에서 이동하는 거리
"offset": [ 3, -2 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle"
}
}
]
}
},
{
// ???/?? ??
"creative_layout_toggle_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "#creative_layout_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"creative_layout_toggle@crafting.creative_layout_toggle": {
// 가로/세로 크기
"size": [ "108.695652173913%y", "100%" ], // 25x23
// 오버라이드 가능한 변수
"$icon_control": "rainbowpieui_crafting.creative_icon",
// 오버라이드 가능한 변수
"$focus_override_left": "search_tab",
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_tab_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_tab_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_tab_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_tab_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_tab_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_tab_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_tab_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_tab_checked_locked_hover",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_default_alpha": 0.3,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_hover_alpha": 0.6
}
}
]
}
},
{
// ???/?? ??
"recipe_book_layout_toggle_panel_survival": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "(not #is_creative_mode)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"recipe_book_layout_toggle@crafting.recipe_book_layout_toggle": {
// 가로/세로 크기
"size": [ "108.695652173913%y", "100%" ], // 25x23
// 오버라이드 가능한 변수
"$icon_control": "rainbowpieui_crafting.recipe_book_icon",
// 오버라이드 가능한 변수
"$focus_override_left": "search_tab",
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_tab_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_tab_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_tab_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_tab_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_tab_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_tab_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_tab_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_tab_checked_locked_hover",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_default_alpha": 0.3,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_hover_alpha": 0.6
}
}
]
}
},
{
// ???/?? ??
"recipe_book_layout_toggle_panel_creative": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "#is_creative_mode",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"recipe_book_layout_toggle@crafting.recipe_book_layout_toggle": {
// 가로/세로 크기
"size": [ "108.695652173913%y", "100%" ], // 25x23
// 오버라이드 가능한 변수
"$icon_control": "rainbowpieui_crafting.recipe_book_icon",
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_tab_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_tab_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_tab_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_tab_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_tab_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_tab_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_tab_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_tab_checked_locked_hover",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_default_alpha": 0.3,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_hover_alpha": 0.6
}
}
]
}
},
{
// ???/?? ??
"survival_layout_toggle_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"survival_layout_toggle@crafting.survival_layout_toggle": {
// 가로/세로 크기
"size": [ "108.695652173913%y", "100%" ], // 25x23
// 오버라이드 가능한 변수
"$icon_control": "rainbowpieui_crafting.inventory_icon",
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_tab_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_tab_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_tab_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_tab_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_tab_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_tab_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_tab_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_tab_checked_locked_hover",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_default_alpha": 0.3,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_hover_alpha": 0.6
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"button_background@rainbowpie_ui_inventory.header_background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"extra_button_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"fastplace_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_29bdcf8a) or (not $rainbowpie_ui_flag_84df7492) or $rainbowpie_localui_inventoryheader_search_ignored)",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_search_box",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_d6bb54d8) or (not $rainbowpie_ui_flag_84df7492) or $rainbowpie_localui_inventoryheader_search_ignored)"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"fastplace_button@rainbowpie_ui_inventory.fastplace_button_toggle_base": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.0,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1010,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "inventoryui_fastplace",
// 겹치는 순서(숫자 클수록 위)
"layer": 10
}
}
]
}
},
{
// ???/?? ??
"search_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_d6bb54d8) or (not $rainbowpie_ui_flag_84df7492) or $rainbowpie_localui_inventoryheader_search_ignored)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"search_inputbox_padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "12%y", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_search_box",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"search_inputbox": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_search_box",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"back_button@rainbowpie_ui_inventory.search_button_toggle_base": {
// 오버라이드 가능한 변수
"$button_content": "rainbowpie_ui_inventory.hide_search_icon",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "100%y", "76%" ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1001,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "hide_search_box",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 오버라이드 가능한 변수
"$button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_search_box",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"search_text_box@common.text_edit_box": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_editbox_enabled": true,
// 오버라이드 가능한 변수
"$edit_box_indent_size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "440%y", "76%" ],
// 오버라이드 가능한 변수
"$text_box_name": "inventoryui_search_text_box",
// 오버라이드 가능한 변수
"$text_edit_box_content_binding_name": "#inventoryui_search_text_box_item_name",
// 오버라이드 가능한 변수
"$text_edit_text_control": "inventoryui_search_text_box_display_text",
// 오버라이드 가능한 변수
"$place_holder_control": "rainbowpie_ui_inventory.search_box_place_holder_control",
// 오버라이드 가능한 변수
"$place_holder_text": "itemGroup.search",
// 끝에서 다시 처음으로 순환
"focus_wrap_enabled": false,
// ?? ?? ?
"max_length": 32767,
// 겹치는 순서(숫자 클수록 위)
"layer": 12
}
}
]
}
},
{
// ???/?? ??
"search_inputbox_padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "12%y", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#close_button_visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_search_box",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#is_search_box_showing"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_search_box_showing and (not #close_button_visible))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"search_button@rainbowpie_ui_inventory.search_button_toggle_base": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.0,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1000,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "show_search_box",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_search_box",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_search_box",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"button_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"close_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#close_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@rainbowpie_ui_common.close_button": {
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_closebutton_default_color": "$rainbowpie_ui_theme_inventory_header_title_color",
// 오버라이드 가능한 변수
"$close_button_panel_size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"common_panel@common.common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 가로/세로 크기
"size": [ "100%", "100% - 12.84916201117318%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle"
}
},
{
// ???/?? ??
"crafting_top_half": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "70.23809523809524%", "40.22346368715084%" ], // 118x72
// 기준점에서 이동하는 거리
"offset": [ 0, "-45.25139664804469%"],
// 보이기/숨기기(공간 유지)
"visible": "($top_half_variant = 'crafting.crafting_panel_top_half')",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_label@crafting.crafting_label": {
// 가로/세로 크기
"size": [ "91.66666666666667%", "13.88888888888889%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "2.777777777777778%" ],
// ?? ??
"text_alignment": "left"
}
},
{
// ???/?? ??
"crafting_grid_3x3": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 가로/세로 크기
"size": [ "54%", "75%" ], // 54x54
// 기준점에서 이동하는 거리
"offset": [ 0, 3 ],
// 오버라이드 가능한 변수
"$cell_image_size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$item_renderer_panel_size": [ "100%y", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"crafting_grid_3x3_1": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 목록 이름
"collection_name": "crafting_input_items",
// 오버라이드 가능한 변수
"$item_collection_name": "crafting_input_items",
// 가로/세로 크기
"size": [ "100%", "33.33333333333333%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_0@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$background_images": "crafting.crafting_container_cell_images",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
"collection_index": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_1@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$background_images": "crafting.crafting_container_cell_images",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_2@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$background_images": "crafting.crafting_container_cell_images",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
"collection_index": 2
}
}
]
}
},
{
// ???/?? ??
"crafting_grid_3x3_2": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 목록 이름
"collection_name": "crafting_input_items",
// 오버라이드 가능한 변수
"$item_collection_name": "crafting_input_items",
// 가로/세로 크기
"size": [ "100%", "33.33333333333333%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_3@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$background_images": "crafting.crafting_container_cell_images",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
"collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_4@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$background_images": "crafting.crafting_container_cell_images",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
"collection_index": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_5@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$background_images": "crafting.crafting_container_cell_images",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
"collection_index": 5
}
}
]
}
},
{
// ???/?? ??
"crafting_grid_3x3_3": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 목록 이름
"collection_name": "crafting_input_items",
// 오버라이드 가능한 변수
"$item_collection_name": "crafting_input_items",
// 가로/세로 크기
"size": [ "100%", "33.33333333333333%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_6@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$background_images": "crafting.crafting_container_cell_images",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
"collection_index": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_7@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$background_images": "crafting.crafting_container_cell_images",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
"collection_index": 7
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_8@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$background_images": "crafting.crafting_container_cell_images",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
"collection_index": 8
}
}
]
}
}
]
}
},
{
// ???/?? ??
"output_grid_3x3": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 목록 이름
"collection_name": "crafting_output_items",
// 오버라이드 가능한 변수
"$item_collection_name": "crafting_output_items",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 가로/세로 크기
"size": [ "100%y", "36.11111111111111%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "4.166666666666667%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_0@rainbowpie_ui_inventory_and_container.container_item": {
// 가로/세로 크기
"size": [ "100%y", "100%" ],
"collection_index": 0,
// 오버라이드 가능한 변수
"$item_renderer_panel_size": [ "100%y", "69.23076923076923%" ],
// 오버라이드 가능한 변수
"$button_ref": "crafting.output_no_coalesce_container_slot_button",
// 오버라이드 가능한 변수
"$stack_count_binding_condition": "always",
// 오버라이드 가능한 변수
"$item_renderer_binding_condition": "always",
// 오버라이드 가능한 변수
"$background_images": "crafting.crafting_container_cell_images",
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "crafting_output_item",
// 오버라이드 가능한 변수
"$focus_override_right_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_right": "FOCUS_OVERRIDE_STOP"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_arrow_large@crafting.crafting_arrow_large": {
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "18.64406779661017%", "20.83333333333333%" ],
// 기준점에서 이동하는 거리
"offset": [ "53.38983050847458%", "4.166666666666667%" ]
}
}
]
}
},
{
// ???/?? ??
"inventory_top_half": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "40.22346368715084%" ], // 162x72
// 기준점에서 이동하는 거리
"offset": [ 0, "-45.25139664804469%"],
// 보이기/숨기기(공간 유지)
"visible": "($top_half_variant = 'crafting.survival_panel_top_half')",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"crafting_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 가로/세로 크기
"size": [ "44.44444444444444%", "100%" ], // 72x72
// 기준점에서 이동하는 거리
"offset": [ "55.55555555555556%", 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_label@crafting.crafting_label": {
// 가로/세로 크기
"size": [ "91.66666666666667%", "13.88888888888889%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "2.777777777777778%" ],
// ?? ??
"text_alignment": "left"
}
},
{
// ???/?? ??
"crafting_grid_2x2": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 가로/세로 크기
"size": [ "50%", "50%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-5.555555555555556%" ],
// 오버라이드 가능한 변수
"$cell_image_size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$item_renderer_panel_size": [ "100%y", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"crafting_grid_2x2_1": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 목록 이름
"collection_name": "crafting_input_items",
// 오버라이드 가능한 변수
"$item_collection_name": "crafting_input_items",
// 가로/세로 크기
"size": [ "100%", "50%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_0@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$background_images": "crafting.crafting_container_cell_images",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
"collection_index": 0,
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "crafting_input_top_left",
// 오버라이드 가능한 변수
"$focus_override_left_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_left": "armor_item_head"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_1@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$background_images": "crafting.crafting_container_cell_images",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
"collection_index": 1,
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "crafting_input_top_right",
// 오버라이드 가능한 변수
"$focus_override_right_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_right": "crafting_output_item"
}
}
]
}
},
{
// ???/?? ??
"crafting_grid_2x2_2": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 목록 이름
"collection_name": "crafting_input_items",
// 오버라이드 가능한 변수
"$item_collection_name": "crafting_input_items",
// 가로/세로 크기
"size": [ "100%", "50%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_2@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$background_images": "crafting.crafting_container_cell_images",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
"collection_index": 2,
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "crafting_input_mid_left",
// 오버라이드 가능한 변수
"$focus_override_left_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_left": "armor_item_legs"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_3@rainbowpie_ui_inventory_and_container.container_item": {
// 오버라이드 가능한 변수
"$background_images": "crafting.crafting_container_cell_images",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
"collection_index": 3,
// 오버라이드 가능한 변수
"$focus_override_right_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_right": "crafting_output_item"
}
}
]
}
}
]
}
},
{
// ???/?? ??
"output_grid_2x2": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 목록 이름
"collection_name": "crafting_output_items",
// 오버라이드 가능한 변수
"$item_collection_name": "crafting_output_items",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 가로/세로 크기
"size": [ "25%", "25%" ],
// 기준점에서 이동하는 거리
"offset": [ "75%", "-5.555555555555556%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_0@rainbowpie_ui_inventory_and_container.container_item": {
// 가로/세로 크기
"size": [ "100%y", "100%" ],
"collection_index": 0,
// 오버라이드 가능한 변수
"$button_ref": "crafting.output_no_coalesce_container_slot_button",
// 오버라이드 가능한 변수
"$background_images": "crafting.crafting_container_cell_images",
// 오버라이드 가능한 변수
"$item_renderer_binding_condition": "always",
// 오버라이드 가능한 변수
"$stack_count_binding_condition": "always",
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "crafting_output_item",
// 오버라이드 가능한 변수
"$focus_override_left_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_left": "crafting_input_top_right",
// 오버라이드 가능한 변수
"$focus_override_up_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_up": "help_button"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_arrow@crafting.crafting_arrow": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 가로/세로 크기
"size": [ "22.22222222222222%", "18.05555555555556%" ],
// 기준점에서 이동하는 거리
"offset": [ "51.38888888888889%", "-5.555555555555556%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "crafting_panel",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "(not #needs_crafting_table)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_table@crafting.item_renderer": {
// 기준점에서 이동하는 거리
"offset": [ 10, -5 ],
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#item_id_aux": 3801088
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "crafting_panel",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "(#needs_crafting_table)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#needs_crafting_table",
// ?? ???
"binding_condition": "visible"
}
]
}
},
{
// ???/?? ??
"player_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 가로/세로 크기
"size": [ "33.33333333333333%", "100%" ], // 54x72
// 기준점에서 이동하는 거리
"offset": [ "11.11111111111111%", 0 ],
// ???
"alpha": 0.4,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"player_renderer_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "55.55555555555556%", "41.66666666666667%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-19.44444444444444%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"player_renderer": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "live_player_renderer",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#look_at_cursor": true
},
"animation_reset_name": "screen_animation_reset",
// 애니메이션 목록
"anims": [
"@common.screen_exit_size_animation_push",
"@common.screen_exit_size_animation_pop",
"@common.screen_entrance_size_animation_push",
"@common.screen_entrance_size_animation_pop"
],
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
}
}
]
}
},
{
// ???/?? ??
"armor_grid": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 목록 이름
"collection_name": "armor_items",
// 오버라이드 가능한 변수
"$item_collection_name": "armor_items",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 가로/세로 크기
"size": [ "11.11111111111111%", "100%" ],
// 오버라이드 가능한 변수
"$cell_image_size": [ "100%", "100%x" ],
// 오버라이드 가능한 변수
"$item_renderer_panel_size": [ "100%", "100%x" ],
// 오버라이드 가능한 변수
"$armor_overlay_size": [ "88.88888888888889%", "88.88888888888889%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_0@rainbowpie_ui_inventory_and_container.container_item": {
// 가로/세로 크기
"size": [ "100%", "100%x" ],
"collection_index": 0,
// 오버라이드 가능한 변수
"$cell_overlay_ref": "crafting.armor_overlay_helmet",
// 오버라이드 가능한 변수
"$button_ref": "crafting.no_coalesce_container_slot_button",
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "armor_item_head",
// 오버라이드 가능한 변수
"$focus_override_right_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_right": "crafting_input_top_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_1@rainbowpie_ui_inventory_and_container.container_item": {
// 가로/세로 크기
"size": [ "100%", "100%x" ],
"collection_index": 1,
// 오버라이드 가능한 변수
"$cell_overlay_ref": "crafting.armor_overlay_chest",
// 오버라이드 가능한 변수
"$button_ref": "crafting.no_coalesce_container_slot_button",
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "armor_item_chest",
// 오버라이드 가능한 변수
"$focus_override_right_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_right": "crafting_input_top_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_2@rainbowpie_ui_inventory_and_container.container_item": {
// 가로/세로 크기
"size": [ "100%", "100%x" ],
"collection_index": 2,
// 오버라이드 가능한 변수
"$cell_overlay_ref": "crafting.armor_overlay_legs",
// 오버라이드 가능한 변수
"$button_ref": "crafting.no_coalesce_container_slot_button",
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "armor_item_legs",
// 오버라이드 가능한 변수
"$focus_override_right_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_right": "crafting_input_mid_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_3@rainbowpie_ui_inventory_and_container.container_item": {
// 가로/세로 크기
"size": [ "100%", "100%x" ],
"collection_index": 3,
// 오버라이드 가능한 변수
"$cell_overlay_ref": "crafting.armor_image_feet",
// 오버라이드 가능한 변수
"$button_ref": "crafting.no_coalesce_container_slot_button",
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "armor_item_feet",
// 오버라이드 가능한 변수
"$focus_override_right_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_right": "offhand_items0"
}
}
]
}
},
{
// ???/?? ??
"offhand_grid": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 목록 이름
"collection_name": "offhand_items",
// 오버라이드 가능한 변수
"$item_collection_name": "offhand_items",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 가로/세로 크기
"size": [ "11.11111111111111%", "25%" ],
// 기준점에서 이동하는 거리
"offset": [ "44.44444444444444%", 0 ],
// 오버라이드 가능한 변수
"$cell_image_size": [ "100%", "100%x" ],
// 오버라이드 가능한 변수
"$item_renderer_panel_size": [ "100%", "100%x" ],
// 오버라이드 가능한 변수
"$offhand_overlay_size": [ "88.88888888888889%", "88.88888888888889%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_0@rainbowpie_ui_inventory_and_container.container_item": {
// 가로/세로 크기
"size": [ "100%", "100%x" ],
"collection_index": 0,
// 오버라이드 가능한 변수
"$cell_overlay_ref": "crafting.armor_overlay_shield",
// 오버라이드 가능한 변수
"$button_ref": "crafting.no_coalesce_container_slot_button",
// 오버라이드 가능한 변수
"$focus_override_left_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_left": "armor_item_feet"
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory@rainbowpie_ui_inventory_and_container.inventory_panel_bottom_half": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "30.16759776536313%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-13.40782122905028%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar@rainbowpie_ui_inventory_and_container.hotbar_grid_template": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "10.05586592178771%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-1.675977653631285%" ]
}
}
]
}
}
]
},
// ???/?? ??
"items_durability_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", 16 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"item_renderer@rainbowpie_ui_common.item_renderer": {
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
}
]
}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 2 ]
}
},
{
// ???/?? ??
"selected_durability_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"durability_title@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "rainbowpie.ui.inventory.durability",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_durabilityview_title)"
}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 0 ],
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_durabilityview_title)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"durability_text@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "#text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#item_durability_total_amount",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#item_durability_current_amount",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(((#amount_current>#item_durability_current_amount)*-1+1)*((#amount_current<#item_durability_current_amount)*1+#amount_current))",
// 결과가 들어갈 속성
"target_property_name": "#amount_current",
// ?? ???
"binding_condition": "always_when_visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(((#amount_total>#item_durability_total_amount)*-1+1)*((#amount_total<#item_durability_total_amount)*1+#amount_total))",
// 결과가 들어갈 속성
"target_property_name": "#amount_total",
// ?? ???
"binding_condition": "always_when_visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #amount_current + '/' + #amount_total + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
}
}
]
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#item_durability_total_amount",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#item_durability_total_amount = 0)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#item_durability_total_amount",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
}
]
},
// ???/?? ??
"armor_items_durability": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 목록 이름
"collection_name": "armor_items",
// 오버라이드 가능한 변수
"$item_collection_name": "armor_items",
// 가로/세로 크기
"size": [ "100%cm", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_items_durability_slot_0@rainbowpieui_crafting.items_durability_item": {
"collection_index": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_items_durability_slot_1@rainbowpieui_crafting.items_durability_item": {
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_items_durability_slot_2@rainbowpieui_crafting.items_durability_item": {
"collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_items_durability_slot_3@rainbowpieui_crafting.items_durability_item": {
"collection_index": 3
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "armor_items_durability_slot_0",
// 계산식/참조 값
"source_property_name": "#item_durability_total_amount",
// 결과가 들어갈 속성
"target_property_name": "#armor_lot_0_item_durability_total_amount"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "armor_items_durability_slot_1",
// 계산식/참조 값
"source_property_name": "#item_durability_total_amount",
// 결과가 들어갈 속성
"target_property_name": "#armor_lot_1_item_durability_total_amount"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "armor_items_durability_slot_2",
// 계산식/참조 값
"source_property_name": "#item_durability_total_amount",
// 결과가 들어갈 속성
"target_property_name": "#armor_lot_2_item_durability_total_amount"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "armor_items_durability_slot_3",
// 계산식/참조 값
"source_property_name": "#item_durability_total_amount",
// 결과가 들어갈 속성
"target_property_name": "#armor_lot_3_item_durability_total_amount"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#armor_lot_0_item_durability_total_amount + #armor_lot_1_item_durability_total_amount + #armor_lot_2_item_durability_total_amount + #armor_lot_3_item_durability_total_amount)",
// 결과가 들어갈 속성
"target_property_name": "#armor_item_durability_total_amount"
}
]
},
// ???/?? ??
"offhand_items_durability": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 목록 이름
"collection_name": "offhand_items",
// 오버라이드 가능한 변수
"$item_collection_name": "offhand_items",
// 가로/세로 크기
"size": [ "100%cm", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"offhand_items_durability_slot_0@rainbowpieui_crafting.items_durability_item": {
"collection_index": 0
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "offhand_items_durability_slot_0",
// 계산식/참조 값
"source_property_name": "#item_durability_total_amount",
// 결과가 들어갈 속성
"target_property_name": "#offhand_lot_0_item_durability_total_amount"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#offhand_lot_0_item_durability_total_amount)",
// 결과가 들어갈 속성
"target_property_name": "#offhand_item_durability_total_amount"
}
]
},
// ???/?? ??
"armor_and_offhand_durability": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%c + 8px", "100%c + 4px" ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 보이기/숨기기(공간 유지)
"visible": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"armor_and_offhand_durability_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점에서 이동하는 거리
"offset": [ -1, 0 ],
// 가로/세로 크기
"size": [ "100%cm", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_items_durability@rainbowpieui_crafting.armor_items_durability": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"offhand_items_durability@rainbowpieui_crafting.offhand_items_durability": {}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "armor_items_durability",
// 계산식/참조 값
"source_property_name": "#armor_item_durability_total_amount",
// 결과가 들어갈 속성
"target_property_name": "#armor_item_durability_total_amount"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "offhand_items_durability",
// 계산식/참조 값
"source_property_name": "#offhand_item_durability_total_amount",
// 결과가 들어갈 속성
"target_property_name": "#offhand_item_durability_total_amount"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#armor_item_durability_total_amount + #offhand_item_durability_total_amount)",
// 결과가 들어갈 속성
"target_property_name": "#slots_item_durability_total_amount"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#slots_item_durability_total_amount = 0)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"armor_durability_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_9ce040c1)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_and_offhand_durability@rainbowpieui_crafting.armor_and_offhand_durability": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [ "100%x + 2px", 4 ]
}
}
]
},
// ???/?? ??
"armor_durability_panel_v2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_9ce040c1)",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "crafting_helper_output_slot",
// 계산식/참조 값
"source_property_name": "(#item_id_aux = -1)",
// 결과가 들어갈 속성
"target_property_name": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_73085b33)"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_and_offhand_durability@rainbowpieui_crafting.armor_and_offhand_durability": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [ "100%x + 2px", 23 ]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: invite_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_invite",
// 다른 템플릿을 가져와서 확장(상속)
"horizontal_invite_panel@rainbowpie_ui_dialog.dialog_panel": {
// 가로/세로 크기
"size": "$large_screen_size",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_invite.horizontal_invite_dialog_content",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_show_background": false,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$is_inviting_to_realm",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "invite.titleRealms"
},
{
// 이 조건이 맞으면 적용
"requires": "(not $is_inviting_to_realm)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "invite.title"
}
]
},
// ???/?? ??
"horizontal_invite_dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content_panel@rainbowpie_ui_dialog.content_background": {
// 가로/세로 크기
"size": [ "100%", "fill" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_area@invite.scrolling_area": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true
}
}
]
}
}
]
}
},
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 1px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "100% + 1px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": "$rainbowpie_ui_theme_dialog_content_background_alpha",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 가로/세로 크기
"size": [ "100%", 23 ],
// 오버라이드 가능한 변수
"$add_button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.controller_secondary_select",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "focused"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"add_friend_button@invite.add_friend_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$focus_override_down": "FOCUS_OVERRIDE_STOP"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"add_member_button@invite.add_member_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$focus_override_down": "FOCUS_OVERRIDE_STOP"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"send_button@invite.send_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$focus_override_down": "FOCUS_OVERRIDE_STOP"
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"invite_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$invite_panel|default": "rainbowpieui_invite.horizontal_invite_panel",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($use_vertical_button_stack_panel and (not $is_inviting_to_realm or $is_realm_owner))",
// 오버라이드 가능한 변수
"$invite_panel": "invite.vertical_invite_panel"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_content@rainbowpie_ui_common.screen_content": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"invite_panel@rainbowpieui_invite.horizontal_invite_panel": {
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: manifest_validation_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_manifest_validation",
// ???/?? ??
"verified_pack_description_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ]
},
// ???/?? ??
"verified_pack_description_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "default" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_packverifiy_packuuid|default": "",
// 오버라이드 가능한 변수
"$rainbowpie_localui_packverifiy_packdesc|default": "",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pack_desc@rainbowpie_ui_common.editable_label": {
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"text_box_name": "pack_desc_text",
"text_control": "pack_desc_display_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pack_desc_display_text@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "100%", "default" ],
// 보여줄 글자
"text": "$rainbowpie_localui_packverifiy_packdesc"
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#pack_id"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#pack_id = $rainbowpie_localui_packverifiy_packuuid)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"verify_detail_button_toggle_base@common_toggles.light_ui_toggle": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_text_binding_type": "none",
// 오버라이드 가능한 변수
"$button_binding_condition": "none",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "none",
// 오버라이드 가능한 변수
"$button_text": "rainbowpie.ui.manifest_validation.verifiedDetail",
// 오버라이드 가능한 변수
"$button_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpie_verified_pack_detail",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 1,
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 0,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": ""
},
// ???/?? ??
"verified_pack_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 25 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_packverifiy_packuuid|default": "",
// 오버라이드 가능한 변수
"$rainbowpie_localui_packverifiy_packname|default": "",
// 오버라이드 가능한 변수
"$rainbowpie_localui_packverifiy_packauther|default": "",
// 보이기/숨기기(공간 유지)
"visible": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@rainbowpie_ui_dialog.content_background": {
// 가로/세로 크기
"size": [ "100%", "100% - 1px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"title_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 가로/세로 크기
"size": [ "100% - 84px", "100%cm" ],
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_text@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "default", "default" ],
// 보여줄 글자
"text": "rainbowpie.ui.manifest_validation.verifiedPack",
// ?? (R,G,B,A)
"color": [ 0.333, 1.0, 0.333 ]
}
},
{
// ???/?? ??
"space": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"text@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "fill", "default" ],
// 보여줄 글자
"text": "($rainbowpie_localui_packverifiy_packname + ' - ' + $rainbowpie_localui_packverifiy_packauther)"
}
}
]
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#pack_id"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#pack_id = $rainbowpie_localui_packverifiy_packuuid)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"verified_pack_list_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// ?? ????
"clips_children": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_packverifiy_item|default": [],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"verified_pack_list_items": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "fill", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": "$rainbowpie_localui_packverifiy_item"
}
},
{
// ???/?? ??
"detail_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@rainbowpie_ui_dialog.content_background": {
// 기준점에서 이동하는 거리
"offset": [ 0, 1 ],
// 가로/세로 크기
"size": [ 80, 24 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"detail_button@rainbowpieui_manifest_validation.verify_detail_button_toggle_base": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 2px", "100% - 1px" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 가로/세로 크기
"size": [ 80, 23 ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1000,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "open_detail_dialog"
}
}
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"title_label@rainbowpie_ui_common.text_label": {
// ?? ?? ??
"font_scale_factor": 1.5
},
// ??? ??
"scrolling_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"pack_banner": {
// 이미지 표시
"type": "image",
"fill": true,
"allow_debug_missing_texture": false,
"force_texture_reload": true,
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 11,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#icon_path",
// ?? ???
"binding_condition": "visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #icon_path - 'pack_icon.png' + 'pack_banner.png' + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#texture"
},
{
// 가져올 값 이름
"binding_name": "#icon_zip",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#zip_folder",
// ?? ???
"binding_condition": "visible"
},
{
// 가져올 값 이름
"binding_name": "#icon_file_system",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// ?? ???
"binding_condition": "visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content_panel@rainbowpie_ui_dialog.content_background": {
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"pack_info_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"icon@manifest_validation.icon_image": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%y", 50 ]
}
},
{
// ???/?? ??
"title_and_description": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "fill", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"title_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"title_text_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100% - 4px", "100%c" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title@rainbowpie_ui_common.editable_label": {
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"text_box_name": "title_text",
"text_control": "title_display_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_display_text@rainbowpieui_manifest_validation.title_label": {
// 가로/세로 크기
"size": [ "100%", "default" ],
// 보여줄 글자
"text": "#pack_header_title",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#pack_header_title",
// ?? ???
"binding_condition": "visible"
}
]
}
}
]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"description_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"description@rainbowpie_ui_common.editable_label": {
// 가로/세로 크기
"size": [ "100% - 4px", "100%c" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
"text_box_name": "description_text",
"text_control": "description_display_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"description_display_text@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "100%", "default" ],
// 보여줄 글자
"text": "#pack_header_description",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#pack_header_description",
// ?? ???
"binding_condition": "visible"
}
]
}
}
]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 87, 50 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"refresh@manifest_validation.refresh_text_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "100% - 7px", 20 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 3.5 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"delete@manifest_validation.delete_text_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "100% - 7px", 20 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -3.5 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#pack_id",
// ?? ???
"binding_condition": "visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#pack_id = $mintui_pack_uuid))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"secondary_panel@rainbowpie_ui_dialog.content_background": {
// 가로/세로 크기
"size": [ "100%", "100%c + 4px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100% - 6px", "100%cm" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"title_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%cm", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pack_id@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "default", "default" ],
// 보여줄 글자
"text": "manifestvalidation.packid"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pack_version@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "default", "default" ],
// 보여줄 글자
"text": "manifestvalidation.packversion"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pack_path@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "default", "default" ],
// 보여줄 글자
"text": "manifestvalidation.filelocation"
}
}
]
}
},
{
// ???/?? ??
"middle_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 0 ]
}
},
{
// ???/?? ??
"value_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "fill", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pack_id@rainbowpie_ui_common.editable_label": {
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"text_box_name": "pack_id_text",
"text_control": "pack_id_display_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pack_id_display_text@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "100%", "default" ],
// 보여줄 글자
"text": "#pack_id",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#pack_id",
// ?? ???
"binding_condition": "visible"
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pack_version@rainbowpie_ui_common.editable_label": {
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"text_box_name": "pack_version_text",
"text_control": "pack_version_display_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pack_version_display_text@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "100%", "default" ],
// 보여줄 글자
"text": "#pack_version",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#pack_version",
// ?? ???
"binding_condition": "visible"
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pack_path@rainbowpie_ui_common.editable_label": {
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"text_box_name": "pack_path_text",
"text_control": "pack_path_display_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pack_path_display_text@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "100%", "default" ],
// 보여줄 글자
"text": "#pack_path",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#pack_path",
// ?? ???
"binding_condition": "visible"
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"verified_item@rainbowpieui_verified_pack.verified_pack_list": {}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"error_list@rainbowpieui_manifest_validation.list_title": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_list_title_text": "manifestvalidation.errorlist"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"error@rainbowpieui_manifest_validation.error_content_grid": {}
},
{
// ???/?? ??
"end_background": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"secondary_panel@rainbowpie_ui_dialog.content_background": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 1 ],
// 가로/세로 크기
"size": [ "100%", 5000 ]
}
}
]
}
}
]
},
// ???/?? ??
"error_content_grid": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 목록 아이템을 자동으로 생성
"factory": {
"name": "pack_error_factory",
// ??? ???
"control_name": "rainbowpieui_manifest_validation.error_pack_content_layout"
},
// 목록 이름
"collection_name": "pack_errors",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#error_grid_dimensions",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}
]
},
// ???/?? ??
"error_pack_content_layout": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 1px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@rainbowpie_ui_dialog.content_background": {
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"error_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100% - 8px", "100%c + 8px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"error_header_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%cm + 2px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_text@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "default", "default" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 보여줄 글자
"text": "#error_type_label",
// ?? ?? ??
"font_scale_factor": 1.2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "pack_errors",
// 가져올 값 이름
"binding_name": "#error_type_label",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"button@manifest_validation.clipboard_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#has_errors_or_warnings",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
},
{
// 목록 이름
"binding_collection_name": "pack_errors",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
}
]
}
}
]
}
},
{
// ???/?? ??
"error_text_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"error_text@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ 30, 10 ],
// 보여줄 글자
"text": "manifestvalidation.issue"
}
},
{
// ???/?? ??
"space": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"error_text@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "fill", "default" ],
// 보여줄 글자
"text": "#error_content_label",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "pack_errors",
// 가져올 값 이름
"binding_name": "#error_content_label",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#has_errors_or_warnings",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"list_title": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 14 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"list_title@rainbowpie_ui_common.title_background": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_list_title_text|default": "TITLE TEXT",
// 오버라이드 가능한 변수
"$rainbowpie_localui_list_title_bindings|default": [],
// 가로/세로 크기
"size": [ "100%", 14 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 4px", 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title@rainbowpie_ui_common.title_label": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 보여줄 글자
"text": "$rainbowpie_localui_list_title_text",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": "$rainbowpie_localui_list_title_bindings"
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@common.scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 오버라이드 가능한 변수
"$scrolling_pane_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$scrolling_content": "rainbowpieui_manifest_validation.scrolling_content",
// 오버라이드 가능한 변수
"$scroll_size": [ 4, "100%" ],
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 0.5, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$show_background": false
}
}
]
},
// ???/?? ??
"detail_scrolling_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 4px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100% - 6px", "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"label_0@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "100%", "default" ],
// 보여줄 글자
"text": "rainbowpie.ui.manifest_validation.verifiedDetail.warn",
// ?? (R,G,B,A)
"color": [ 1.0, 1.0, 0.333 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"label_1@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "100%", "default" ],
// 보여줄 글자
"text": "rainbowpie.ui.manifest_validation.verifiedDetail.description",
// ?? (R,G,B,A)
"color": [ 0.333, 0.333, 1.0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"verified_item@rainbowpieui_verified_pack.verified_pack_description": {}
}
]
}
}
]
},
// ???/?? ??
"detail_dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@common.scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 오버라이드 가능한 변수
"$scrolling_pane_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$scrolling_content": "rainbowpieui_manifest_validation.detail_scrolling_content",
// 오버라이드 가능한 변수
"$scroll_size": [ 4, "100%" ],
// 오버라이드 가능한 변수
"$show_background": false
}
}
]
},
// ???/?? ??
"detail_dialog_button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_detail_button@rainbowpieui_manifest_validation.verify_detail_button_toggle_base": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$toggle_focus_enabled": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.0,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color": "$rainbowpie_ui_theme_closebutton_hover_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha": "$rainbowpie_ui_theme_closebutton_hover_background_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color": "$rainbowpie_ui_theme_closebutton_pressed_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha": "$rainbowpie_ui_theme_closebutton_pressed_background_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_border_enabled": false,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_manifest_validation.close_button_icon",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 10,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "close_detail_dialog",
// 오버라이드 가능한 변수
"$button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
]
}
}
]
}
}
]
},
// ???/?? ??
"close_button_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 15, 15 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/global/close_button/close')",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_button_text_color"
},
// ???/?? ??
"manifest_validation_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 보이기/숨기기(공간 유지)
"visible": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_content@rainbowpie_ui_common.screen_content": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dialog@rainbowpie_ui_dialog.dialog_panel": {
// 가로/세로 크기
"size": "$extra_large_screen_size",
"max_size": "$extra_large_max_screen_size",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "manifestvalidation.title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_manifest_validation.dialog_content",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_show_background": false
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "open_detail_dialog",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"subscreen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 보이기/숨기기(공간 유지)
"visible": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dialog@rainbowpie_ui_dialog.dialog_panel": {
// 가로/세로 크기
"size": "$extra_large_screen_size",
"max_size": "$extra_large_max_screen_size",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "rainbowpie.ui.manifest_validation.verifiedDetail.title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_extra_controls": "rainbowpieui_manifest_validation.detail_dialog_button",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_show_close": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_manifest_validation.detail_dialog_content"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "open_detail_dialog",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: mob_effect_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_mob_effect"
}
필요한 부분만 참고해서 가져가세요.
// 예제: npc_interact_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_npc_interact",
// 다른 템플릿을 가져와서 확장(상속)
"top_tab@common_tabs.tab_top": {
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_alpha": 0.0,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_alpha": 0.2,
// 오버라이드 가능한 변수
"$tab_panel": "rainbowpie_ui_tab.tab_panel",
// 오버라이드 가능한 변수
"$toggle_tts_enabled_binding_type": "global",
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpieui_navigation_tab",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 10,
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 오버라이드 가능한 변수
"$toggle_tts_type_priority": 1001,
// 오버라이드 가능한 변수
"$toggle_tts_toggle_on_text": "",
// 오버라이드 가능한 변수
"$toggle_tts_toggle_off_text": "",
// 오버라이드 가능한 변수
"$toggle_tts_index_priority": 1002,
// 오버라이드 가능한 변수
"$tab_content": "rainbowpieui_npc_interact.top_tab_content"
},
// ???/?? ??
"top_tab_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"tab_label@rainbowpie_ui_common.text_label_notheme": {
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "default", "default" ],
// ?? ??
"text_alignment": "center",
// 보여줄 글자
"text": "$tab_text",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
},
// ???/?? ??
"tab_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ 100, "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"teacher_navigation_tab@rainbowpieui_npc_interact.top_tab": {
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$tab_view_binding_name": "teacher_navigation_tab_toggle",
// 오버라이드 가능한 변수
"$tab_text": "gui.edit",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 11
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"student_navigation_tab@rainbowpieui_npc_interact.top_tab": {
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$tab_view_binding_name": "student_navigation_tab_toggle",
// 오버라이드 가능한 변수
"$tab_text": "npcscreen.dialog",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 10
}
}
]
},
// ???/?? ??
"dialog_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"tab_panel_student_view_visible@rainbowpieui_npc_interact.tab_panel": {}
}
]
}
}
]
},
// ???/?? ??
"npc_screen_contents": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_content@rainbowpie_ui_common.screen_content": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_ingame_anim1": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dialog_panel@rainbowpie_ui_dialog.dialog_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "#name_text",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_extra_controls": "rainbowpieui_npc_interact.dialog_button_panel",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title_bindings": [
{
// 가져올 값 이름
"binding_name": "#name_text",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
],
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_npc_interact.dialog_content",
// 가로/세로 크기
"size": [ 325, 200 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#teacher_view_visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#student_view_visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#advanced_visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#maximized_edit_visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(((not #advanced_visible) and (not #maximized_edit_visible)) and (#teacher_view_visible or #student_view_visible))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"dialog_panel_advanced@rainbowpie_ui_dialog.dialog_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "#title_text",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title_bindings": [
{
// 가져올 값 이름
"binding_name": "#title_text",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
],
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "npc_interact.advanced_scrolling_panel",
// 오버라이드 가능한 변수
"$close_button_to_button_id": "button.exit_advanced",
// 가로/세로 크기
"size": [ 325, 200 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#advanced_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"dialog_panel_maximized@rainbowpie_ui_dialog.dialog_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "#title_text",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title_bindings": [
{
// 가져올 값 이름
"binding_name": "#title_text",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
],
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "npc_interact.maximized_action_edit",
// 오버라이드 가능한 변수
"$close_button_to_button_id": "button.exit_maximized",
// 가로/세로 크기
"size": [ 325, 200 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#maximized_edit_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"exit_advanced@rainbowpieui_npc_interact.override_hotkey_input_panel": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.exit_advanced",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#advanced_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"exit_maximized@rainbowpieui_npc_interact.override_hotkey_input_panel": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.exit_maximized",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#maximized_edit_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
}
]
}
}
]
},
// ???/?? ??
"override_hotkey_input_panel": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 보이기/숨기기(공간 유지)
"visible": false,
// 오버라이드 가능한 변수
"$pressed_button_name": "rainbowpie.placeholder",
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_exit",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
]
},
// ???/?? ??
"dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"teacher": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"basic@npc_interact.basic_stack_panel": {}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "teacher_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"student": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"message@npc_interact.student_message_section": {
// 가로/세로 크기
"size": [ "100%", "100% - 46px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle"
}
},
{
// ???/?? ??
"bottom_panel": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_dialog_background_alpha",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ "100%", 46 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 12,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"buttons@npc_interact.student_buttons": {
// 가로/세로 크기
"size": [ "100% - 8px", "100%c" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "student_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: online_safety_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_online_safety",
// ???/?? ??
"ip_safety_dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content_panel@rainbowpie_ui_dialog.content_background": {
// 가로/세로 크기
"size": [ "100%", "fill" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"text_default@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 4px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_content_color",
// 보여줄 글자
"text": "$description_text"
}
}
]
}
},
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 1px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "100% + 1px", 46 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"do_not_show_checkbox@online_safety.do_not_show_checkbox": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 가로/세로 크기
"size": [ "100%", 23 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -0.5 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 오버라이드 가능한 변수
"$rainbowpie_localui_state_text": "onlinePlay.doNotShowAgain",
// 오버라이드 가능한 변수
"$rainbowpie_localui_state_text_on": "onlinePlay.doNotShowAgain",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_size": [ "100% - 1px", "100% - 1px" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_anchor": "center",
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpieui_settings_common.rainbowpie_ui_option_toggle_off",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpieui_settings_common.rainbowpie_ui_option_toggle_on",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_option_toggle_off_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_option_toggle_on_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_option_toggle_off_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_option_toggle_off_locked",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_option_toggle_on_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_option_toggle_on_locked"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"back_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.back",
// 오버라이드 가능한 변수
"$button_text": "onlinePlay.back",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 가로/세로 크기
"size": [ "50%", 23 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "#selected_pack_items_global",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"proceed_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.proceed",
// 오버라이드 가능한 변수
"$button_text": "onlinePlay.proceed",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 가로/세로 크기
"size": [ "50%", 23 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 5
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"ip_safety_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dialog_panel@rainbowpie_ui_dialog.dialog_panel": {
// 가로/세로 크기
"size": [ 204, 132 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 100,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "$text_name",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_online_safety.ip_safety_dialog_content",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_show_background": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_show_close": false
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background2@rainbowpie_popup_dialog.background_panel_design2": {}
}
]
},
// ???/?? ??
"online_safety_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_text@rainbowpie_ui_common.title_text": {
// 기준점에서 이동하는 거리
"offset": [ 0, "5%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"online_safety_ui@rainbowpieui_online_safety.online_safety_ui": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"online_safety_ui_blur@rainbowpieui_online_safety.online_safety_ui_blur": {}
}
]
},
// ???/?? ??
"exit_animation_push": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "out_cubic",
// 걸리는 시간(초)
"duration": 0,
// 시작 값
"from": 1.0,
// 끝 값
"to": 0.0,
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"exit_animation_pop": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "out_cubic",
// 걸리는 시간(초)
"duration": 0,
// 시작 값
"from": 1.0,
// 끝 값
"to": 0.0,
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"online_safety_ui_blur": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 11,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"titlebar_control_blur": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ "50% - 110px", "50% - 50px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"blur_layer_1@mintui_background.background_blur": {
// 오버라이드 가능한 변수
"$background_ingame": true,
// 오버라이드 가능한 변수
"$background_offset": [ "-100% + 220px", "-100% + 27px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ "50% - 110px", "50% + 23px" ],
// 오버라이드 가능한 변수
"$background_layer": 2
}
}
]
}
},
{
// ???/?? ??
"content_control_blur": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ "50% - 110px", "50% - 23px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"blur_layer_1@mintui_background.background_blur": {
// 오버라이드 가능한 변수
"$background_mask": false,
// 오버라이드 가능한 변수
"$background_ingame": true,
// 오버라이드 가능한 변수
"$background_offset": [ "-100% + 220px", "-100% + 83px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ "50% - 110px", "50% - 60px" ],
// 오버라이드 가능한 변수
"$background_layer": 1
}
}
]
}
}
]
},
// ???/?? ??
"online_safety_ui": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 220, 110 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 5 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 12,
// 오버라이드 가능한 변수
"$text_name|default": "onlinePlay.notRated",
// 오버라이드 가능한 변수
"$description_text|default": "onlinePlay.message",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$is_editor_mode_enabled",
// 오버라이드 가능한 변수
"$text_name": "onlinePlay.editor.notRated",
// 오버라이드 가능한 변수
"$description_text": "onlinePlay.editor.message"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"titlebar_control@rainbowpie_ui_common.title_background": {
// 가로/세로 크기
"size": [ "100%", 27 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_text@rainbowpie_ui_common.title_label": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 가로/세로 크기
"size": [ "default", "default" ],
"max_size": [ "100% - 8px", "100% - 4px" ],
// 보여줄 글자
"text": "$text_name"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"content_control@rainbowpie_ui_common.text_background": {
// 가로/세로 크기
"size": [ "100%", 83 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 27 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"progress_bar_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 46 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"progress_bar_text@rainbowpie_ui_common.title_label": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 4 ],
// 가로/세로 크기
"size": [ "default", "default" ],
"max_size": [ "100% - 18px", 40 ],
// 보여줄 글자
"text": "$description_text"
}
}
]
}
},
{
// ???/?? ??
"inside_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ "100% - 1px", "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ 0, -0.5 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"online_safety_proceed_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.proceed",
// 오버라이드 가능한 변수
"$button_text": "onlinePlay.proceed",
// 가로/세로 크기
"size": [ "50%", 22 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.back",
// 오버라이드 가능한 변수
"$button_text": "onlinePlay.back",
// 가로/세로 크기
"size": [ "50%", 22 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left"
}
}
]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: pack_settings_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_pack_settings",
// ??? ??
"scrolling_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content_tiering_panel@pack_settings.content_tiering_panel": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"generated_form@rainbowpieui_server_form.generated_contents": {}
}
]
},
// ???/?? ??
"dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pack_scroll_panel@pack_settings.pack_scroll_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scroll_size": [ 4, "100% - 4px" ],
// 오버라이드 가능한 변수
"$scrolling_pane_size": [ "100% - 4px", "100%" ],
// 오버라이드 가능한 변수
"$scrolling_pane_offset": [ 2, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 2, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 0, 0 ]
}
}
]
},
// ???/?? ??
"main_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_content@rainbowpie_ui_common.screen_content": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dialog@rainbowpie_ui_dialog.dialog_panel": {
// 가로/세로 크기
"size": "$extra_large_screen_size",
"max_size": "$extra_large_max_screen_size",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "#pack_settings_title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title_bindings": [
{
// 가져올 값 이름
"binding_name": "#pack_settings_title",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
],
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_pack_settings.dialog_content"
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: pause_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_pause",
// 다른 템플릿을 가져와서 확장(상속)
"quit_button@pause.pause_button_template": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_quit",
// 오버라이드 가능한 변수
"$button_text": "pauseScreen.quit",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 오버라이드 가능한 변수
"$focus_override_down": "icon_panel_main_focus",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($is_secondary_client and not $is_editor_playtest_roundtrip)",
// 오버라이드 가능한 변수
"$button_text": "pauseScreen.secondaryClientLeave"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_editor_playtest_roundtrip",
// 오버라이드 가능한 변수
"$button_text": "pauseScreen.editor.quit"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_on_3p_server",
// 오버라이드 가능한 변수
"$button_text": "menu.disconnect"
}
]
},
// ???/?? ??
"music_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 15, 15 ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/start/music')",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 8
},
// ???/?? ??
"ui_mode_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 15, 15 ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/pause/ui_mode')",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 8
},
// 다른 템플릿을 가져와서 확장(상속)
"vanilla_button@common_toggles.light_ui_toggle": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "rainbowpie.ui.pause.vanilla_tip",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text_offset": [ -10, -10 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text_anchor": "top_right",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_56cd0456)",
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_pause.ui_mode_icon",
// 오버라이드 가능한 변수
"$button_text_binding_type": "none",
// 오버라이드 가능한 변수
"$button_binding_condition": "none",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "none",
// 오버라이드 가능한 변수
"$button_text": "rainbowpie.ui.pause.vanilla",
// 오버라이드 가능한 변수
"$button_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpie_pauseui_toggle",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 903,
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 900,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "vanilla_pauseui",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "vanilla_pauseui",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#enabled",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_56cd0456)"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"pauseui_button@rainbowpieui_pause.vanilla_button": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "rainbowpie.ui.pause.pauseui_tip",
// 오버라이드 가능한 변수
"$button_text": "rainbowpie.ui.pause.pauseui",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 901,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "rainbowpie_pauseui",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "rainbowpie_pauseui",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#enabled",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_56cd0456)"
}
]
},
// ???/?? ??
"pause_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 보이기/숨기기(공간 유지)
"visible": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"tip_text_background": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_pause_quit_doubleclick)",
// 이미지 표시
"type": "image",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 가로/세로 크기
"size": [ "100%c + 12px", "100%c + 5px" ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_black')",
// ???
"alpha": 0,
// 애니메이션 목록
"anims": ["@rainbowpieui_pause.quittip_background_out_in"],
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"item_text_label@rainbowpie_ui_common.text_label_notheme": {
"max_size": [ 160, 24 ],
// ?? ??
"text_alignment": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 31,
// 보여줄 글자
"text": "$tip_text",
// 오버라이드 가능한 변수
"$tip_text": "rainbowpie.ui.pause.quit.tiptext",
// ???
"alpha": 0,
// 애니메이션 목록
"anims": ["@rainbowpieui_pause.quittip_text_out_in"],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$is_on_3p_server",
// 오버라이드 가능한 변수
"$tip_text": "rainbowpie.ui.pause.quit.tiptext.disconnect"
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"header@rainbowpie_ui_common.screen_header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_ingame_anim1": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_title": "menu.returnToGame",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_content_panel": "rainbowpieui_pause.player_name_panel"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_content@rainbowpie_ui_common.screen_content": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_ingame_anim1": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_screen": "pause.pause_screen_content",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$touch",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_screen": "rainbowpieui_pause.touch_pause_screen_content"
},
{
// 이 조건이 맞으면 적용
"requires": "$mouse",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_screen": "rainbowpieui_pause.mouse_pause_screen_content"
},
{
// 이 조건이 맞으면 적용
"requires": "$game_pad",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_screen": "rainbowpieui_pause.gamepad_pause_screen_content"
}
],
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": [
{
// ???/?? ??
"bottom_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "28px" ],
// 기준점에서 이동하는 거리
"offset": [ -8, -17 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"music_button@rainbowpie_ui_music_player.music_player_button_toggle_base": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_pause.music_icon",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "open_music_player",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "open_music_player",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#enabled",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_feature_musicplayer)"
}
]
}
},
{
// ???/?? ??
"music_button_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, 0 ],
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_feature_musicplayer)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"vanilla_button@rainbowpieui_pause.vanilla_button": {
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_56cd0456)"
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"screen@$rainbowpie_localui_this_screen": {}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"mask_layer_version_panel@mintui_background.background_mask": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_8dcce82d",
// 오버라이드 가능한 변수
"$background_offset": [ 0, "100% - 12px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ 0, "-100% + 12px" ],
// 오버라이드 가능한 변수
"$background_layer": 2,
// 오버라이드 가능한 변수
"$background_anims": [
"@rainbowpieui_pause.version_background_back_animation_push1",
"@rainbowpieui_pause.version_background_back_animation_pop1",
"@rainbowpieui_pause.version_background_animation_push1",
"@rainbowpieui_pause.version_background_animation_pop1"
],
// 오버라이드 가능한 변수
"$background_children_anims": [
"@rainbowpieui_pause.version_background_back_animation_push2",
"@rainbowpieui_pause.version_background_back_animation_pop2",
"@rainbowpieui_pause.version_background_animation_push2",
"@rainbowpieui_pause.version_background_animation_pop2"
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"version_panel@rainbowpie_ui_common.text_background": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "100%", 12 ],
"animation_reset_name": "screen_animation_reset",
// 애니메이션 목록
"anims": [
"@rainbowpieui_pause.version_panel_back_animation_push",
"@rainbowpieui_pause.version_panel_back_animation_pop",
"@rainbowpieui_pause.version_panel_animation_push",
"@rainbowpieui_pause.version_panel_animation_pop"
],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_version_label@rainbowpie_ui_common.text_label": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpieui_ci",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_split": "",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "NULL",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_osc": "NULL",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_control_mode": "NULL",
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "80% - 2px", 10 ],
// ?? ??
"text_alignment": "left",
// 보여줄 글자
"text": "($mintui_pack_name + ' ' + $rainbowpieui_branch_display_name + ' ' + $rainbowpieui_engine_version_name + '.' + $rainbowpieui_patch_version + '.' + $rainbowpieui_hotfix_version + $rainbowpie_localui_this_split + $rainbowpie_ui_flag_resourcepack_displayname)",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "(not ($rainbowpie_ui_flag_resourcepack_displayname = ''))",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_split": " | "
},
{
// 이 조건이 맞으면 적용
"requires": "$game_pad",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_control_mode": "Controller"
},
{
// 이 조건이 맞으면 적용
"requires": "$mouse",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_control_mode": "Keyboard & Mouse"
},
{
// 이 조건이 맞으면 적용
"requires": "$touch",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_control_mode": "Touch"
},
{
// 이 조건이 맞으면 적용
"requires": "$win10_edition",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Windows"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_win10_arm",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Windows ARM"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_windows_10_mobile",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Windows Mobile"
},
{
// 이 조건이 맞으면 적용
"requires": "$xbox_one",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Xbox One"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_ios",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "iOS"
},
{
// 이 조건이 맞으면 적용
"requires": "$osx_edition",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Mac OS"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_android",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Android"
},
{
// 이 조건이 맞으면 적용
"requires": "$google_os",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_osc": "Google"
},
{
// 이 조건이 맞으면 적용
"requires": "$apple_os",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_osc": "Apple"
},
{
// 이 조건이 맞으면 적용
"requires": "$microsoft_os",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_osc": "Microsoft"
},
{
// 이 조건이 맞으면 적용
"requires": "$nx_os",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_osc": "NX"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_ps4",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "PS4"
},
{
// 이 조건이 맞으면 적용
"requires": "$console_edition",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Console"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ci_version_label@rainbowpie_ui_common.text_label": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpieui_ci)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_split": "",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "NULL",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_osc": "NULL",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_control_mode": "NULL",
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "80% - 2px", 10 ],
// ?? ??
"text_alignment": "left",
// 보여줄 글자
"text": "($mintui_pack_name + ' ' + $rainbowpieui_branch_display_name + ' ' + $rainbowpieui_engine_version_name + '.' + $rainbowpieui_patch_version + '.' + $rainbowpieui_hotfix_version + ' ' + $rainbowpieui_branch_name + '/' + $rainbowpieui_commit_id + $rainbowpie_localui_this_split + $rainbowpie_ui_flag_resourcepack_displayname)",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "(not ($rainbowpie_ui_flag_resourcepack_displayname = ''))",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_split": " | "
},
{
// 이 조건이 맞으면 적용
"requires": "$game_pad",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_control_mode": "Controller"
},
{
// 이 조건이 맞으면 적용
"requires": "$mouse",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_control_mode": "Keyboard & Mouse"
},
{
// 이 조건이 맞으면 적용
"requires": "$touch",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_control_mode": "Touch"
},
{
// 이 조건이 맞으면 적용
"requires": "$win10_edition",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Windows"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_win10_arm",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Windows ARM"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_windows_10_mobile",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Windows Mobile"
},
{
// 이 조건이 맞으면 적용
"requires": "$xbox_one",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Xbox One"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_ios",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "iOS"
},
{
// 이 조건이 맞으면 적용
"requires": "$osx_edition",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Mac OS"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_android",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Android"
},
{
// 이 조건이 맞으면 적용
"requires": "$google_os",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_osc": "Google"
},
{
// 이 조건이 맞으면 적용
"requires": "$apple_os",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_osc": "Apple"
},
{
// 이 조건이 맞으면 적용
"requires": "$microsoft_os",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_osc": "Microsoft"
},
{
// 이 조건이 맞으면 적용
"requires": "$nx_os",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_osc": "NX"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_ps4",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "PS4"
},
{
// 이 조건이 맞으면 적용
"requires": "$console_edition",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Console"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"permission_label@rainbowpie_ui_common.text_label": {
// 완전히 제거(공간도 없음)
"ignored": true,
// 보이기/숨기기(공간 유지)
"visible": "(not $rainbowpie_ui_flag_111d8c96)",
// 기준점에서 이동하는 거리
"offset": [ -2, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "20% - 2px", 10 ],
// ?? ??
"text_alignment": "right",
// 보여줄 글자
"text": "#player_permission_text",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#collection_name": "players_collection",
// ???/??? ?
"#collection_index": 0
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#player_permission_level_icon_texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('rainbowpie.ui.pause.permissions.' + ((#player_permission_level_icon_texture - 'textures/ui/permissions_') - '_hand' - '_star'- '_crown'- '_dots'))",
// 결과가 들어갈 속성
"target_property_name": "#player_permission_text"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pause_annoucement_label@rainbowpie_ui_common.text_label": {
// 기준점에서 이동하는 거리
"offset": [ -2, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "20% - 2px", 10 ],
// ?? ??
"text_alignment": "right",
// 보여줄 글자
"text": "pauseScreen.gameIsPaused",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#pause_annoucement_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
}
],
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#is_music_player_ui_opened": false,
// ???/??? ?
"#is_vanilla_pause_ui_opened": false
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "open_music_player",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#is_music_player_ui_opened",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_feature_musicplayer)"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "vanilla_pauseui",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#is_vanilla_pause_ui_opened",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_56cd0456)"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#is_music_player_ui_opened or #is_vanilla_pause_ui_opened))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"vanilla_pauseui_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_56cd0456)",
// 보이기/숨기기(공간 유지)
"visible": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_content@rainbowpie_ui_common.screen_content": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_ingame_anim1": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": [
{
// ???/?? ??
"bottom_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "28px" ],
// 기준점에서 이동하는 거리
"offset": [ -8, -17 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"music_button@rainbowpie_ui_music_player.music_player_button_toggle_base": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_pause.music_icon",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "open_music_player_vanilla",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "open_music_player_vanilla",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#enabled",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_feature_musicplayer)"
}
]
}
},
{
// ???/?? ??
"music_button_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, 0 ],
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_feature_musicplayer)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pauseui_button@rainbowpieui_pause.pauseui_button": {
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_56cd0456)"
}
}
]
}
}
]
}
},
{
// ???/?? ??
"rainbowpie_version": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// 가로/세로 크기
"size": [ "100%c + 4px", "100%c + 2px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// ???
"alpha": 0.6,
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"label": {
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$main_header_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 보여줄 글자
"text": "($mintui_pack_name + ' ' + $rainbowpieui_branch_display_name + ' ' + $rainbowpieui_engine_version_name + '.' + $rainbowpieui_patch_version + '.' + $rainbowpieui_hotfix_version)",
// 가로/세로 크기
"size": [ "default", 10 ]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pauseui@$screen_content": {}
}
]
}
}
],
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#is_music_player_ui_opened": false,
// ???/??? ?
"#is_vanilla_pause_ui_opened": false
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "open_music_player_vanilla",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#is_music_player_ui_opened",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_feature_musicplayer)"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "vanilla_pauseui",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#is_vanilla_pause_ui_opened",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_56cd0456)"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_vanilla_pause_ui_opened and (not #is_music_player_ui_opened))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"subscreen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_feature_musicplayer)",
// 보이기/숨기기(공간 유지)
"visible": false,
// 이 안에 들어가는 부품 목록
"controls": [
{ "music_player_screen@rainbowpie_ui_music_player.music_player_screen": {} }
],
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#is_music_player_ui_opened": false,
// ???/??? ?
"#is_music_player_ui_opened_on_vanilla": false
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "open_music_player",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#is_music_player_ui_opened"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "open_music_player_vanilla",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#is_music_player_ui_opened_on_vanilla",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_282dd0a5)"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_music_player_ui_opened or #is_music_player_ui_opened_on_vanilla)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
},
// ???/?? ??
"version_panel_back_animation_push": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ 0, 12 ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"version_panel_back_animation_pop": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ 0, 12 ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"version_panel_animation_push": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 12 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"version_panel_animation_pop": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 12 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
//
"version_background_back_animation_push1": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "100% - 12px" ],
// 끝 값
"to": [ 0, "100% - 0px" ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"version_background_back_animation_push2": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "-100% + 12px" ],
// 끝 값
"to": [ 0, "-100% + 0px" ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"version_background_back_animation_pop1": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "100% - 12px" ],
// 끝 값
"to": [ 0, "100% - 0px" ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"version_background_back_animation_pop2": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "-100% + 12px" ],
// 끝 값
"to": [ 0, "-100% + 0px" ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"version_background_animation_push1": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "100% - 0px" ],
// 끝 값
"to": [ 0, "100% - 12px" ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"version_background_animation_push2": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "-100% + 0px" ],
// 끝 값
"to": [ 0, "-100% + 12px" ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"version_background_animation_pop1": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "100% - 0px" ],
// 끝 값
"to": [ 0, "100% - 12px" ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"version_background_animation_pop2": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "-100% + 0px" ],
// 끝 값
"to": [ 0, "-100% + 12px" ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"quittip_background_out_in": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "out_expo",
// 걸리는 시간(초)
"duration": 0.5,
// 시작 값
"from": 0.0,
// 끝 값
"to": 0.6,
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_pause.quittip_background_out_wait",
"play_event": "rainbowpie.quit_button_tip"
},
// ???/?? ??
"quittip_background_out_wait": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 2,
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_pause.quittip_background_out_anim"
},
// ???/?? ??
"quittip_background_out_anim": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_expo",
// 걸리는 시간(초)
"duration": 0.5,
// 시작 값
"from": 0.6,
// 끝 값
"to": 0
},
// ???/?? ??
"quittip_text_out_in": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "out_expo",
// 걸리는 시간(초)
"duration": 0.5,
// 시작 값
"from": 0,
// 끝 값
"to": 1,
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_pause.quittip_text_out_wait",
"play_event": "rainbowpie.quit_button_tip"
},
// ???/?? ??
"quittip_text_out_wait": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 2,
// 다음 애니메이션으로 연결
"next": "@rainbowpieui_pause.quittip_text_out_anim"
},
// ???/?? ??
"quittip_text_out_anim": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_expo",
// 걸리는 시간(초)
"duration": 0.5,
// 시작 값
"from": 1,
// 끝 값
"to": 0
},
// ???/?? ??
"list_title": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 15 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"list_title@rainbowpie_ui_common.title_background": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_list_title_text|default": "TITLE TEXT",
// 오버라이드 가능한 변수
"$rainbowpie_localui_list_title_bindings|default": [],
// 가로/세로 크기
"size": [ "100%", 14 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 4px", 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title@rainbowpie_ui_common.title_label": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 보여줄 글자
"text": "$rainbowpie_localui_list_title_text",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": "$rainbowpie_localui_list_title_bindings"
}
}
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"top_tab@common_tabs.tab_top": {
// 오버라이드 가능한 변수
"$tab_panel": "rainbowpie_ui_tab.tab_panel",
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpieui_navigation_tab",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 10,
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 오버라이드 가능한 변수
"$tab_content": "rainbowpieui_pause.top_tab_content"
},
// ???/?? ??
"top_tab_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"tab_label@rainbowpie_ui_common.text_label_notheme": {
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "default", "default" ],
// ?? ??
"text_alignment": "center",
// 보여줄 글자
"text": "$tab_text",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
},
// ???/?? ??
"extra_button_icon": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 오버라이드 가능한 변수
"$rainbowpie_localui_path_mouse_icon": "($rainbowpie_ui_path_theme + '/icon/pause/mouse')",
// 사용할 이미지 경로
"texture": "($rainbowpie_localui_path_mouse_icon + '/placeholder')",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 가로/세로 크기
"size": [ 20, 20 ]
},
// 다른 템플릿을 가져와서 확장(상속)
"achievements_icon_extra@extra_button_icon": {
// 사용할 이미지 경로
"texture": "($rainbowpie_localui_path_mouse_icon + '/achievements')"
},
// 다른 템플릿을 가져와서 확장(상속)
"invite_icon_extra@extra_button_icon": {
// 사용할 이미지 경로
"texture": "($rainbowpie_localui_path_mouse_icon + '/invite')"
},
// 다른 템플릿을 가져와서 확장(상속)
"friends_icon_extra@extra_button_icon": {
// 사용할 이미지 경로
"texture": "($rainbowpie_localui_path_mouse_icon + '/friends')"
},
// 다른 템플릿을 가져와서 확장(상속)
"skin_icon_extra@extra_button_icon": {
},
// 다른 템플릿을 가져와서 확장(상속)
"music_icon_extra@extra_button_icon": {
// 사용할 이미지 경로
"texture": "($rainbowpie_localui_path_mouse_icon + '/music')"
},
// 다른 템플릿을 가져와서 확장(상속)
"store_icon_extra@extra_button_icon": {
// 사용할 이미지 경로
"texture": "($rainbowpie_localui_path_mouse_icon + '/marketplace')"
},
// 다른 템플릿을 가져와서 확장(상속)
"take_screenshot_icon_extra@extra_button_icon": {
// 사용할 이미지 경로
"texture": "($rainbowpie_localui_path_mouse_icon + '/screenshot')"
},
// 다른 템플릿을 가져와서 확장(상속)
"feed_icon_extra@extra_button_icon": {
// 사용할 이미지 경로
"texture": "($rainbowpie_localui_path_mouse_icon + '/feed')"
},
// 다른 템플릿을 가져와서 확장(상속)
"feedback_icon_extra@extra_button_icon": {
// 사용할 이미지 경로
"texture": "($rainbowpie_localui_path_mouse_icon + '/feedback')"
},
// ???/?? ??
"gamepad_pause_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"center_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "100%c", 184 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ 150, "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"return_to_game_button@pause.return_to_game_button": {
// 오버라이드 가능한 변수
"$button_focus_precedence": 3,
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "100%", 23 ],
// 포커스 이동용 ID
"focus_identifier": "play_button",
// 위로 이동할 대상
"focus_change_up": "quit_button"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"settings_button@pause.settings_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "100%", 23 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"achievements_button@pause.pause_button_template": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_achievements",
// 오버라이드 가능한 변수
"$button_text": "gui.achievements",
// 가로/세로 크기
"size": [ "100%", 23 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"invite_players_button@pause.pause_button_template": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_invite_players",
// 오버라이드 가능한 변수
"$button_text": "pauseScreen.invite",
// 가로/세로 크기
"size": [ "100%", 23 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"friends_button@pause.pause_button_template": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.friends_drawer",
// 오버라이드 가능한 변수
"$button_text": "realmsInvitationScreen.friends",
// 가로/세로 크기
"size": [ "100%", 23 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"store_button@pause.pause_button_template": {
// 완전히 제거(공간도 없음)
"ignored": "$is_secondary_client",
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_store",
// 오버라이드 가능한 변수
"$button_text": "$store_button_text",
// 가로/세로 크기
"size": [ "100%", 23 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#store_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"profile_button@pause.pause_button_template": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "100%", 23 ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.to_profile_or_skins_screen",
// 오버라이드 가능한 변수
"$button_text": "profileScreen.header"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"quit_button@rainbowpieui_pause.quit_button": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_color": [ 0.85098, 0.301961, 0.301961 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color": [ 0.85098, 0.301961, 0.301961 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color": [ 0.85098, 0.301961, 0.301961 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_default_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_hover_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_pressed_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "100%", 23 ],
// 포커스 이동용 ID
"focus_identifier": "quit_button",
// 아래로 이동할 대상
"focus_change_down": "play_button"
}
}
]
}
},
{
// ???/?? ??
"pause_playerlist_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 200, "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_list_scrolling_panel@common.scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 가로/세로 크기
"size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$show_background": false,
// 오버라이드 가능한 변수
"$scroll_size": [ "5px", "100% - 4px" ],
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 1, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 1, 0 ],
// 오버라이드 가능한 변수
"$scrolling_content": "rainbowpieui_pause.player_list"
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"mouse_pause_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"goto_profile_panel": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "50% - 90px", 50 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -10 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"player_renderer": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "live_player_renderer",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#look_at_cursor": true
},
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
"animation_reset_name": "screen_animation_reset",
// 애니메이션 목록
"anims": [
"@common.screen_exit_size_animation_push",
"@common.screen_exit_size_animation_pop",
"@common.screen_entrance_size_animation_push",
"@common.screen_entrance_size_animation_pop"
],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.to_profile_or_skins_screen",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.to_profile_or_skins_screen",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
}
]
}
},
{
// ???/?? ??
"center_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ 180, "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 72,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"tab_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 180, 23 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"tab_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 가로/세로 크기
"size": [ "100% - 1px", "100% - 1px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pause_navigation_tab@rainbowpieui_pause.top_tab": {
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$tab_view_binding_name": "pause_navigation_tab_toggle",
// 오버라이드 가능한 변수
"$tab_text": "rainbowpie.ui.pause.tab.pause",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 10,
// 오버라이드 가능한 변수
"$toggle_default_state": true
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"playerlist_navigation_tab@rainbowpieui_pause.top_tab": {
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$tab_view_binding_name": "playerlist_navigation_tab_toggle",
// 오버라이드 가능한 변수
"$tab_text": "rainbowpie.ui.pause.tab.playerlist",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 11
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"scoreboard_navigation_tab@rainbowpieui_pause.top_tab": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_pause_tab_scoreboard)",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$tab_view_binding_name": "scoreboard_navigation_tab_toggle",
// 오버라이드 가능한 변수
"$tab_text": "rainbowpie.ui.pause.tab.scoreboard",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 13,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#list_has_display_objective",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"persona_navigation_tab@rainbowpieui_pause.top_tab": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_pause_myinfo_disabled",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$tab_view_binding_name": "persona_navigation_tab_toggle",
// 오버라이드 가능한 변수
"$tab_text": "rainbowpie.ui.pause.tab.persona",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 12
}
}
]
}
}
]
}
},
{
// ???/?? ??
"content_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$content_panel_size",
// 오버라이드 가능한 변수
"$content_panel_size": [ "100%", 190 ],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_111d8c96",
// 오버라이드 가능한 변수
"$content_panel_size": [ "100%", 214 ]
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"pause_button_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"title_background": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "40px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_background@rainbowpie_ui_common.text_background": {
// 가로/세로 크기
"size": [ "100% - 1px", "100% - 1px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_text@rainbowpie_ui_common.title_text": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 오버라이드 가능한 변수
"$title_text_scale": "$rainbowpie_ui_theme_global_title_text_scale",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"splash_text@common_art.splash_text": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_pause_splash_text)"
}
}
]
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"return_to_game_button@pause.return_to_game_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "100%", 20 ]
}
},
{
// ???/?? ??
"settings_and_how_to_play_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 20 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"settings_button@pause.settings_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 가로/세로 크기
"size": [ "50%", 20 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"how_to_play_button@pause.pause_button_template": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_how_to_play",
// 오버라이드 가능한 변수
"$button_text": "menu.howToPlay",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 가로/세로 크기
"size": [ "50%", 20 ]
}
}
]
}
},
{
// ???/?? ??
"achievements_and_invite_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 20 ]
}
},
{
// ???/?? ??
"feedback_and_store_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 20 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"feedback_button@pause.pause_button_template": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_b00b6372)",
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "100%", 20 ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.feedback_button_pressed",
// 오버라이드 가능한 변수
"$button_text": "options.group.feedback"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"profile_button@pause.pause_button_template": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_b00b6372",
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "100%", 20 ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.to_profile_or_skins_screen",
// 오버라이드 가능한 변수
"$button_text": "profileScreen.header"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"quit_button@rainbowpieui_pause.quit_button": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_color": [ 0.85098, 0.301961, 0.301961 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color": [ 0.85098, 0.301961, 0.301961 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color": [ 0.85098, 0.301961, 0.301961 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_default_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_hover_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_pressed_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "100%", 20 ],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_pause_quit_doubleclick"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "rainbowpie.quit_button_tip",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_pause_quit_doubleclick)"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "double_pressed",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_pause_quit_doubleclick)"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "focused"
}
]
}
},
{
// ???/?? ??
"extra_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 30 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"achievements_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "menu.achievements",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_border_layer": 30,
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_achievements",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_pause.achievements_icon_extra",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 가로/세로 크기
"size": [ 30, 30 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"invite_players_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "invite.title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_border_layer": 30,
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_invite_players",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_pause.invite_icon_extra",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 가로/세로 크기
"size": [ 30, 30 ],
// 기준점에서 이동하는 거리
"offset": [ 30, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#invite_button_visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#invite_button_enabled"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#invite_button_visible and #invite_button_enabled)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"friends_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "realmsInvitationScreen.friends",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_border_layer": 30,
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.friends_drawer",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_pause.friends_icon_extra",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 가로/세로 크기
"size": [ 30, 30 ],
// 기준점에서 이동하는 거리
"offset": [ 60, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"store_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "$store_button_text",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_border_layer": 30,
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_store",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_pause.store_icon_extra",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 가로/세로 크기
"size": [ 30, 30 ],
// 기준점에서 이동하는 거리
"offset": [ 90, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#store_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_stories_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "pauseScreen.realmsStories",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_border_layer": 30,
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_feed",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_pause.feed_icon_extra",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 가로/세로 크기
"size": [ 30, 30 ],
// 기준점에서 이동하는 거리
"offset": [ 120, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"take_screenshot_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "key.screenshot",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_border_layer": 30,
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.screenshot",
// 오버라이드 가능한 변수
"$button_tts_header": "key.screenshot",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_pause.take_screenshot_icon_extra",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 가로/세로 크기
"size": [ 30, 30 ],
// 기준점에서 이동하는 거리
"offset": [ 150, 0 ],
// 오버라이드 가능한 변수
"$button_text": "key.screenshot",
// ??? ??
"sound_name": "random.screenshot",
"sound_volume": 1.0,
"sound_pitch": 1.0
}
}
]
}
},
{
// ???/?? ??
"profile_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 24 ],
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_111d8c96)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"profile_button_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0.5 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"profile_button@common_buttons.light_content_button": {
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$button_content_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_pause.my_profile_horizontal_button_content",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_profile"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"change_skin_button@common_buttons.light_content_button": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_b00b6372)",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$button_content_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_pause.change_skin_button_content",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.to_profile_or_skins_screen"
}
}
]
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "pause_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"pause_playerlist_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_list_scrolling_panel@common.scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 가로/세로 크기
"size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$show_background": false,
// 오버라이드 가능한 변수
"$scroll_size": [ "5px", "100% - 4px" ],
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 1, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 1, 0 ],
// 오버라이드 가능한 변수
"$scrolling_content": "rainbowpieui_pause.player_list"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "playerlist_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"pause_scoreboard_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_pause_tab_scoreboard)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"debug01@rainbowpie_ui_common.debug_draw": {
// 가로/세로 크기
"size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_debug_name": "pause_scoreboard_panel"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"player_list_scrolling_panel@common.scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 가로/세로 크기
"size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$show_background": false,
// 오버라이드 가능한 변수
"$scroll_size": [ "5px", "100% - 4px" ],
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 1, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 1, 0 ],
// 오버라이드 가능한 변수
"$scrolling_content": "rainbowpieui_pause.scoreboard_player_list"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "scoreboard_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
// 也许有一天我会完善这个东西,但是目前这个东西根本没有任何用。
// 我的本意是让服务器修改这个界面并且通过scoreboard在这个页面显示一些东西。
// 但是我根本没有开服务器。
{
// ???/?? ??
"pause_persona_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_pause_myinfo_disabled",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"debug01@rainbowpie_ui_common.debug_draw": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_debug_name": "pause_persona_panel"
}
},
{
// ???/?? ??
"header_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 24 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0.5 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 24,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"profile_button@common_buttons.light_content_button": {
// 가로/세로 크기
"size": [ "100%", 24 ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$button_content_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_pause.my_profile_horizontal_button_content",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_profile"
}
}
]
}
},
{
// ???/?? ??
"paper_doll_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100% - 24.5px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, -40 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"paper_doll": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "paper_doll_renderer",
"camera_tilt_degrees": 0,
"starting_rotation": 0,
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
"rotation": "gesture_x",
// 가로/세로 크기
"size": [ "100%", "100%" ],
"use_selected_skin": false,
"animation_reset_name": "screen_animation_reset",
// 애니메이션 목록
"anims": [
"@common.screen_exit_size_animation_push",
"@common.screen_exit_size_animation_pop",
"@common.screen_entrance_size_animation_push",
"@common.screen_entrance_size_animation_pop"
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#paper_doll_skin"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "viewer_panel",
// 계산식/참조 값
"source_property_name": "#gesture_delta_source",
// 결과가 들어갈 속성
"target_property_name": "#gesture_delta_source"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "viewer_panel",
// 계산식/참조 값
"source_property_name": "#gesture_mouse_delta_x",
// 결과가 들어갈 속성
"target_property_name": "#gesture_mouse_delta_x"
}
]
}
}
]
}
},
{ "profile_button@pause.dressing_room_button": {} }
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "persona_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"scoreboard_player_list": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"focus_container": true,
"use_last_focus": true,
"focus_navigation_mode_right": "contained",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_list_title@rainbowpieui_pause.list_title": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_list_title_text": "#player_list_title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_list_title_bindings": [
{
// 가져올 값 이름
"binding_name": "#player_list_title"
}
]
}
},
{ "scored_players_grid_panel@scoreboard.players_scored_grid_list": {} },
{
// 다른 템플릿을 가져와서 확장(상속)
"unscored_players_title@rainbowpieui_pause.list_title": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_list_title_text": "rainbowpie.ui.pause.title.unscored_players",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#list_scores_not_empty",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{ "unscored_players_grid_panel@scoreboard.players_unscored_grid_list": {} }
]
},
// ???/?? ??
"player_count": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "40px", "10px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"player_count_text_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_count_title@rainbowpie_ui_common.title_label": {
// 보여줄 글자
"text": "rainbowpie.ui.pause.title.player_total",
// 가로/세로 크기
"size": [ "default", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"padding_middle": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"player_count_text@rainbowpie_ui_common.title_label": {
// 보여줄 글자
"text": "#player_count_str",
// 가로/세로 크기
"size": [ "default", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index + 1)",
// 결과가 들어갈 속성
"target_property_name": "#player_count"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #player_count + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#player_count_str"
}
]
}
}
]
}
}
]
},
// ???/?? ??
"player_list": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"focus_container": true,
"use_last_focus": true,
"focus_navigation_mode_right": "contained",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0.5 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"server_infomation@rainbowpie_ui_common.title_background": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_server_infomation_enabled)",
// 가로/세로 크기
"size": [ "100%", 36 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"horizontal_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"server_logo": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/server_logo/' + $rainbowpie_ui_flag_server_infomation_logo_name)",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"infomation_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"infomation_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100% - 4px", "100% - 4px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"header_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"server_name@rainbowpie_ui_common.title_label": {
// 가로/세로 크기
"size": [ "default", "default" ],
// 보여줄 글자
"text": "$rainbowpie_ui_flag_server_infomation_server_name",
// ?? ?? ??
"font_scale_factor": 1.2,
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"server_desc@rainbowpie_ui_common.title_label": {
// 가로/세로 크기
"size": [ "fill", "default" ],
// 보여줄 글자
"text": "$rainbowpie_ui_flag_server_infomation_description",
// ?? ??
"text_alignment": "right",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"server_website@rainbowpie_ui_common.editable_label": {
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
"text_box_name": "server_website_text",
"text_control": "server_website_display_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"server_website_display_text@rainbowpie_ui_common.title_label": {
// 가로/세로 크기
"size": [ "default", "default" ],
// 보여줄 글자
"text": "$rainbowpie_ui_flag_server_infomation_link_website",
// ?? (R,G,B,A)
"color": [ 1.0, 1.0, 0.333 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"server_support@rainbowpie_ui_common.editable_label": {
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
"text_box_name": "server_support_text",
"text_control": "server_support_display_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"server_support_display_text@rainbowpie_ui_common.title_label": {
// 가로/세로 크기
"size": [ "default", "default" ],
// 보여줄 글자
"text": "$rainbowpie_ui_flag_server_infomation_link_support",
// ?? (R,G,B,A)
"color": [ 1.0, 1.0, 0.333 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"list_title@rainbowpie_ui_common.title_background": {
// 가로/세로 크기
"size": [ "100%", 14 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"text_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100% - 4px", 10 ],
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"players_list_title@rainbowpie_ui_common.title_label": {
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 보여줄 글자
"text": "#players_list_title",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#players_list_title"
}
]
}
},
{
// ???/?? ??
"player_count_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_317055aa)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"player_grid": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
"grid_item_template": "rainbowpieui_pause.player_count",
"grid_dimension_binding": "#players_grid_dimension",
// 목록 이름
"collection_name": "players_collection",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#players_grid_dimension"
}
]
}
}
]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0.5 ]
}
},
{ "players_grid_panel@pause.players_grid": {} },
{
// 다른 템플릿을 가져와서 확장(상속)
"scoreboard_player_list@rainbowpieui_pause.scoreboard_player_list": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_pause_tab_scoreboard)",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#list_has_display_objective",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
},
// ???/?? ??
"hide_paper_doll_anim": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 0
},
// 다른 템플릿을 가져와서 확장(상속)
"hide_paper_doll_anim_exit_push@rainbowpieui_pause.hide_paper_doll_anim": {
// 시작 값
"from": [ 0, 36 ],
// 끝 값
"to": [ "100%x", 36 ],
"play_event": "screen.exit_push"
},
// 다른 템플릿을 가져와서 확장(상속)
"hide_paper_doll_anim_exit_pop@rainbowpieui_pause.hide_paper_doll_anim": {
// 시작 값
"from": [ 0, 36 ],
// 끝 값
"to": [ "100%x", 36 ],
"play_event": "screen.exit_pop"
},
// 다른 템플릿을 가져와서 확장(상속)
"hide_paper_doll_anim_entrance_push@rainbowpieui_pause.hide_paper_doll_anim": {
// 시작 값
"from": [ "100%x", 36 ],
// 끝 값
"to": [ 0, 36 ],
"play_event": "screen.entrance_push"
},
// 다른 템플릿을 가져와서 확장(상속)
"hide_paper_doll_anim_entrance_pop@rainbowpieui_pause.hide_paper_doll_anim": {
// 시작 값
"from": [ "100%x", 36 ],
// 끝 값
"to": [ 0, 36 ],
"play_event": "screen.entrance_pop"
},
// ???/?? ??
"change_skin_button_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 24 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button_text@rainbowpie_ui_common.text_label_notheme": {
// ?? (R,G,B,A)
"color": "$text_color",
// 보여줄 글자
"text": "options.skin.change",
// ?? ??
"text_alignment": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점에서 이동하는 거리
"offset": [ 1, 0 ],
// 가로/세로 크기
"size": [ "100% - 25px", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3
}
},
{
// ???/?? ??
"button_icon": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "gradient_renderer",
// 가로/세로 크기
"size": [ "100%y", "100% - 2px" ],
// 기준점에서 이동하는 거리
"offset": [ -1, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
"color1": [ 0.407843137254902, 0.5254901960784314, 0.8, 1.0 ],
"color2": [ 0.5098039215686275, 0.6549019607843137, 1.0, 1.0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"paper_doll": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "paper_doll_renderer",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ 78, "100%x" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 36 ],
"enable_scissor_test": true,
"animation_reset_name": "screen_animation_reset",
// 애니메이션 목록
"anims": [
"@rainbowpieui_pause.hide_paper_doll_anim_exit_push",
"@rainbowpieui_pause.hide_paper_doll_anim_exit_pop",
"@rainbowpieui_pause.hide_paper_doll_anim_entrance_push",
"@rainbowpieui_pause.hide_paper_doll_anim_entrance_pop"
]
}
}
]
}
}
]
},
// ???/?? ??
"my_profile_horizontal_button_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 24 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"gamerpic": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "profile_image_renderer",
// ???
"alpha": 2.0,
// 가로/세로 크기
"size": [ 22, 22 ],
// 기준점에서 이동하는 거리
"offset": [ 1, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#profile_image_options"
}
]
}
},
{
// ???/?? ??
"alex_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/icon_alex",
// 가로/세로 크기
"size": [ 22, 22 ],
// 기준점에서 이동하는 거리
"offset": [ 1, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"player_gamertag@rainbowpie_ui_common.text_label_notheme": {
// ?? (R,G,B,A)
"color": "$text_color",
// 보여줄 글자
"text": "#playername",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [ 25, 2 ],
// 가로/세로 크기
"size": [ "100% - 25px", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#playername"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"permission_label@rainbowpie_ui_common.text_label": {
// ?? (R,G,B,A)
"color": "$text_color",
// 보여줄 글자
"text": "#player_permission_text",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 기준점에서 이동하는 거리
"offset": [ 25, -2 ],
// 가로/세로 크기
"size": [ "100% -25px", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#collection_name": "players_collection",
// ???/??? ?
"#collection_index": 0
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#player_permission_level_icon_texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('rainbowpie.ui.pause.permissions.' + ((#player_permission_level_icon_texture - 'textures/ui/permissions_') - '_hand' - '_star'- '_crown'- '_dots'))",
// 결과가 들어갈 속성
"target_property_name": "#player_permission_text"
}
]
}
}
]
},
// ???/?? ??
"return_to_game_button_content": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"return_to_game_icon": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 사용할 이미지 경로
"texture": "textures/ui/store_play_button",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 가로/세로 크기
"size": [ 40, 40 ],
// ?? (R,G,B,A)
"color": "$text_color"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"title_label@rainbowpie_ui_common.text_label_notheme": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": [ "100% - 4px", 12 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 보여줄 글자
"text": "menu.returnToGame",
// ?? (R,G,B,A)
"color": "$text_color"
}
}
]
},
// ???/?? ??
"howtoplay_button_content": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"howtoplay_icon": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 사용할 이미지 경로
"texture": "textures/ui/how_to_play_button_default_light",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 가로/세로 크기
"size": [ 18, 18 ],
// ?? (R,G,B,A)
"color": "$text_color"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"title_label@rainbowpie_ui_common.text_label_notheme": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": [ "100% - 4px", 12 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 보여줄 글자
"text": "menu.howToPlay",
// ?? (R,G,B,A)
"color": "$text_color"
}
}
]
},
// ???/?? ??
"settings_button_content": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"settings_icon": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 사용할 이미지 경로
"texture": "textures/ui/settings_glyph_2x",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 가로/세로 크기
"size": [ 18, 18 ],
// ?? (R,G,B,A)
"color": "$text_color"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"title_label@rainbowpie_ui_common.text_label_notheme": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": [ "100% - 4px", 12 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 보여줄 글자
"text": "menu.settings",
// ?? (R,G,B,A)
"color": "$text_color"
}
}
]
},
// ???/?? ??
"store_button_content": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"store_icon": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 사용할 이미지 경로
"texture": "textures/ui/store_home_icon",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 가로/세로 크기
"size": [ 18, 18 ],
// ?? (R,G,B,A)
"color": "$text_color"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"title_label@rainbowpie_ui_common.text_label_notheme": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": [ "100% - 4px", 12 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 보여줄 글자
"text": "$store_button_text",
// ?? (R,G,B,A)
"color": "$text_color"
}
}
]
},
// ???/?? ??
"achievements_icon": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 사용할 이미지 경로
"texture": "textures/ui/achievements",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 가로/세로 크기
"size": [ 18, 18 ]
},
// ???/?? ??
"invite_icon": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 사용할 이미지 경로
"texture": "textures/ui/invite_base",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 가로/세로 크기
"size": [ 18, 18 ]
},
// ???/?? ??
"feedback_icon": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 사용할 이미지 경로
"texture": "textures/ui/Feedback",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 가로/세로 크기
"size": [ 18, 18 ]
},
// ???/?? ??
"friends_icon": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 사용할 이미지 경로
"texture": "textures/ui/FriendsIcon",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 가로/세로 크기
"size": [ 18, 18 ]
},
// ???/?? ??
"touch_pause_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"player_list": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100% - 19px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 19 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel_tile_panel_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel_tile_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel_tile": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$tile_panel_anchor": "bottom_left",
// 오버라이드 가능한 변수
"$tile_panel_offset": [ 0.5, -12.5 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "$tile_panel_anchor",
// 기준점(어디에서 시작할지)
"anchor_from": "$tile_panel_anchor",
// 가로/세로 크기
"size": [ 180, 180 ],
// 기준점에서 이동하는 거리
"offset": "$tile_panel_offset",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"return_to_game_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_continue",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_pause.return_to_game_button_content",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 가로/세로 크기
"size": [ 90, 90 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"settings_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_settings",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_pause.settings_button_content",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 가로/세로 크기
"size": [ 60, 45 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 90 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"how_to_play_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_how_to_play",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_pause.howtoplay_button_content",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 가로/세로 크기
"size": [ 60, 45 ],
// 기준점에서 이동하는 거리
"offset": [ 60, 90 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"achievements_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_achievements",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_pause.achievements_icon",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 가로/세로 크기
"size": [ 45, 45 ],
// 기준점에서 이동하는 거리
"offset": [ 90, 45 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"invite_players_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_invite_players",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_pause.invite_icon",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 가로/세로 크기
"size": [ 45, 45 ],
// 기준점에서 이동하는 거리
"offset": [ 135, 45 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#invite_button_visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#invite_button_enabled"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#invite_button_visible and #invite_button_enabled)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"take_screenshot_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.screenshot",
// 오버라이드 가능한 변수
"$button_tts_header": "key.screenshot",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 가로/세로 크기
"size": [ 45, 45 ],
// 기준점에서 이동하는 거리
"offset": [ 90, 0 ],
// 오버라이드 가능한 변수
"$button_content": "pause.take_screenshot_icon",
// ??? ??
"sound_name": "random.screenshot",
"sound_volume": 1.0,
"sound_pitch": 1.0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"friends_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.friends_drawer",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_pause.friends_icon",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 가로/세로 크기
"size": [ 45, 45 ],
// 기준점에서 이동하는 거리
"offset": [ 135, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"store_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_store",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_pause.store_button_content",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 가로/세로 크기
"size": [ 60, 45 ],
// 기준점에서 이동하는 거리
"offset": [ 120, 90 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#store_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"quit_button@rainbowpieui_pause.quit_button": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_color": [ 0.85098, 0.301961, 0.301961 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color": [ 0.85098, 0.301961, 0.301961 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color": [ 0.85098, 0.301961, 0.301961 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_default_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_hover_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_pressed_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 가로/세로 크기
"size": [ 120, 45 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 135 ],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_pause_quit_doubleclick"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "rainbowpie.quit_button_tip",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_pause_quit_doubleclick)"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "double_pressed",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_pause_quit_doubleclick)"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "focused"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"feedback_button@pause.pause_button_template": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 가로/세로 크기
"size": [ 60, 45 ],
// 기준점에서 이동하는 거리
"offset": [ 120, 135 ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.feedback_button_pressed",
// 오버라이드 가능한 변수
"$button_text": "options.group.feedback"
}
}
]
}
}
]
}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 11 ]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"player_model": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 60, "100%" ],
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"goto_profile_panel": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ 50, "50%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "1%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"player_renderer": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 기준점에서 이동하는 거리
"offset": [ 2, -30 ],
// 커스텀 렌더러 종류
"renderer": "live_player_renderer",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#look_at_cursor": true
},
"animation_reset_name": "screen_animation_reset",
// 애니메이션 목록
"anims": [
"@common.screen_exit_size_animation_push",
"@common.screen_exit_size_animation_pop",
"@common.screen_entrance_size_animation_push",
"@common.screen_entrance_size_animation_pop"
],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.to_profile_or_skins_screen",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.to_profile_or_skins_screen",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
}
]
}
}
]
}
},
{
// ???/?? ??
"pause_playerlist_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "fill", "100% - 2px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_list_scrolling_panel@common.scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 가로/세로 크기
"size": [ "100% - 2px", "100% - 3px" ],
// 오버라이드 가능한 변수
"$show_background": false,
// 오버라이드 가능한 변수
"$scroll_size": [ "5px", "100% - 4px" ],
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 1, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 1, 0 ],
// 오버라이드 가능한 변수
"$scrolling_content": "rainbowpieui_pause.player_list"
}
}
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"player_name_panel@rainbowpie_ui_common.text_background": {
// 가로/세로 크기
"size": [ 100, "100%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 보이기/숨기기(공간 유지)
"visible": "(not $rainbowpie_ui_flag_111d8c96)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"name_text@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 가로/세로 크기
"size": [ "100%", 10 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0],
// 보여줄 글자
"text": "#text",
"shadow": false,
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// ?? ??
"text_alignment": "center",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#playername",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text"
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: permissions_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_permissions",
// ???/?? ??
"permissions_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"header@rainbowpie_ui_common.screen_header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_title": "permissions.title"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_content@rainbowpie_ui_common.screen_content": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": [
{
// ???/?? ??
"content_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100% - 20px" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{ "content_panel@permissions.content_panel": {} }
]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: persona_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_persona",
// ???/?? ??
"background_blur_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_d28dfac0)",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"blur_panel_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 34, 22 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"blur_layer_1@mintui_background.background_blur": {
// 오버라이드 가능한 변수
"$background_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$background_children_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$background_offset": [ "-50% - 16px", -24 ],
// 오버라이드 가능한 변수
"$background_children_offset": [ "50% - 18px", 2 ],
// 오버라이드 가능한 변수
"$background_layer": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"mask_layer_1@mintui_background.background_mask": {
// 오버라이드 가능한 변수
"$background_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$background_children_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$background_offset": [ "-50% - 16px", -24 ],
// 오버라이드 가능한 변수
"$background_children_offset": [ "50% - 18px", 2 ],
// 오버라이드 가능한 변수
"$background_layer": 0
}
}
]
}
},
{
// ???/?? ??
"blur_panel_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ "50% + 19px", "100% - 65px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"blur_layer_1@mintui_background.background_blur": {
// 오버라이드 가능한 변수
"$background_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$background_children_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$background_offset": [ "-50% - 21px", "-100% + 63px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ 2, 2 ],
// 오버라이드 가능한 변수
"$background_layer": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"mask_layer_1@mintui_background.background_mask": {
// 오버라이드 가능한 변수
"$background_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$background_children_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$background_offset": [ "-50% - 21px", "-100% + 63px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ 2, 2 ],
// 오버라이드 가능한 변수
"$background_layer": 0
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #preview_appearance_on)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
// ???/?? ??
"restricted_content_popup_dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content_panel@rainbowpie_ui_dialog.content_background": {
// 가로/세로 크기
"size": [ "100%", "fill" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"popup_dialog_message@rainbowpie_ui_common.text_label_notheme": {
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 가로/세로 크기
"size": [ "100% - 18px", "default" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 4 ],
// ?? ??
"text_alignment": "center",
// 보여줄 글자
"text": "dr.modal.restricted_content_text",
// ?? (R,G,B,A)
"color": "$dressing_room_right_side_default_text_color"
}
},
{
// ???/?? ??
"image": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "60%", "50%x" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 사용할 이미지 경로
"texture": "textures/ui/warning_sad_steve",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ]
}
}
]
}
},
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 1px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "100% + 1px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 가로/세로 크기
"size": [ "100%", 23 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"Ok_button@persona.differences_popup_ok_button": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": "$rainbowpie_ui_theme_dialog_content_background_alpha",
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"background_panel_design2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"full_screen_background@rainbowpie_ui_common.global_background": {
// ?? (R,G,B,A)
"color": [ 0.0, 0.0, 0.0 ],
// ???
"alpha": 0.3,
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"ingame_background": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 가로/세로 크기
"size": [ 204, 132 ],
// 완전히 제거(공간도 없음)
"ignored": "$is_pregame",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"popup_dialog_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_dialog_background_alpha"
}
}
]
}
},
{
// ???/?? ??
"blur_panel_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ "50% - 102px", 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"blur_panel_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "50% - 66px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"blur_layer_1@mintui_background.background_blur": {
// 오버라이드 가능한 변수
"$background_offset": [ "-100% + 204px", "-100% + 132px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ "50% - 102px", "50% - 66px" ],
// 오버라이드 가능한 변수
"$background_layer": 2
}
}
]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: play_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_play",
// ???/?? ??
"play_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"header@rainbowpie_ui_common.screen_header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_ingame_anim1": "($rainbowpie_ui_flag_8dcce82d and $rainbowpie_ui_flag_fbadd01f)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_title": "menu.play",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_content_panel": "rainbowpieui_play.tab_navigation_panel"
}
},
{
// ???/?? ??
"popup_dialog_factory": {
// 리스트를 자동으로 생성하는 공장
"type": "factory",
// 팩토리 템플릿 매핑
"control_ids": {
"join_by_code": "@play.popup_dialog_join_by_code",
"high_ping_warning": "@play.popup_dialog_high_ping"
}
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_content@rainbowpie_ui_common.screen_content": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_ingame_anim1": "($rainbowpie_ui_flag_8dcce82d and $rainbowpie_ui_flag_fbadd01f)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": [
{
// ???/?? ??
"tab_content_panel": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": "$rainbowpie_localui_this_size",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_localui_this_offset",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_size": [ "65%", "100% - 16px" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_offset": [ 0, 2 ],
"ttsSectionContainer": true,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_flag_play_bottom_panel and (not $game_pad))",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_size": [ "65%", "100% - 38px" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_offset": [ 0, -20 ]
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"worlds_tab_content@play.worlds_scroll_content": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "world_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"friends_tab_content@play.friends_scroll_content": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "friends_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"server_tab_content@play.server_scroll_content": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "server_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"blur_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not ($rainbowpie_ui_flag_play_bottom_panel and (not $game_pad)))",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ "17.5%", 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"blur_layer_1@mintui_background.background_blur": {
// 오버라이드 가능한 변수
"$background_ingame": true,
// 오버라이드 가능한 변수
"$background_offset": [ "-35%", "100% - 22px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ "17.5%", "-100% + 22px" ],
// 오버라이드 가능한 변수
"$background_layer": 6,
// 오버라이드 가능한 변수
"$background_anims": [
"@rainbowpieui_play.bottom_background_back_animation_push1",
"@rainbowpieui_play.bottom_background_back_animation_pop1",
"@rainbowpieui_play.bottom_background_animation_push1",
"@rainbowpieui_play.bottom_background_animation_pop1"
],
// 오버라이드 가능한 변수
"$background_children_anims": [
"@rainbowpieui_play.bottom_background_back_animation_push2",
"@rainbowpieui_play.bottom_background_back_animation_pop2",
"@rainbowpieui_play.bottom_background_animation_push2",
"@rainbowpieui_play.bottom_background_animation_pop2"
]
}
}
]
}
},
{
// ???/?? ??
"bottom_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not ($rainbowpie_ui_flag_play_bottom_panel and (not $game_pad)))",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "65%", 22 ],
"animation_reset_name": "screen_animation_reset",
// 애니메이션 목록
"anims": [
"@rainbowpieui_play.bottom_panel_back_animation_push",
"@rainbowpieui_play.bottom_panel_back_animation_pop",
"@rainbowpieui_play.bottom_panel_animation_push",
"@rainbowpieui_play.bottom_panel_animation_pop"
],
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@rainbowpie_ui_common.global_background": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"worlds_tab_buttons": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100% - 1px", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"create_new_world_button@play.create_new_world_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100% - 2px" ],
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"quick_play_button@play.quick_play_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100% - 2px" ],
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"import_world_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100% - 2px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($local_world_upload)",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.archived_world_upload"
},
{
// 이 조건이 맞으면 적용
"requires": "(not $local_world_upload)",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_import_level"
}
],
// 오버라이드 가능한 변수
"$button_text": "accessibility.play.importWorld",
// 포커스 이동용 ID
"focus_identifier": "import_world_button",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "world_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"friends_tab_buttons": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100% - 1px", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"add_friend_button@play.add_friend_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100% - 2px" ],
// 완전히 제거(공간도 없음)
"ignored": "((not $supports_add_friend) or $nx_os or $is_ps4)",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#add_friend_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#cross_platform_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"join_by_code_button@play.join_by_code_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100% - 2px" ],
// 완전히 제거(공간도 없음)
"ignored": "$is_editor_mode_enabled",
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
},
{
// ???/?? ??
"notification_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "13%", "100%" ],
// 보이기/숨기기(공간 유지)
"visible": "#realms_notification_button_visible",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"notification_button@play.notification_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100% - 2px" ],
// 오버라이드 가능한 변수
"$button_content": "play.notification_content",
// 오버라이드 가능한 변수
"$button_tts_header": "realmsInvitationScreen.shareTitle",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#realms_notification_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "friends_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"server_tab_buttons": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100% - 1px", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"add_server_button@play.add_server_toggle_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100% - 2px" ],
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"join_third_party_server_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100% - 2px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.connect_to_third_party_server",
// 오버라이드 가능한 변수
"$button_text": "networkWorld.join_server",
// 오버라이드 가능한 변수
"$focus_override_left": "left_panel",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_third_party_server_selected",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"join_server_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100% - 2px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_network_server_item",
// 오버라이드 가능한 변수
"$button_text": "networkWorld.join_server",
// 오버라이드 가능한 변수
"$focus_override_left": "left_panel",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_additional_server_selected",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "server_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
]
},
// ???/?? ??
"bottom_panel_back_animation_push": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ 0, 22 ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"bottom_panel_back_animation_pop": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ 0, 22 ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"bottom_panel_animation_push": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 22 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"bottom_panel_animation_pop": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 22 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
//
"bottom_background_back_animation_push1": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ "-35%", "100% - 22px" ],
// 끝 값
"to": [ "-35%", "100% - 0px" ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"bottom_background_back_animation_push2": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ "17.5%", "-100% + 22px" ],
// 끝 값
"to": [ "17.5%", "-100% + 0px" ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"bottom_background_back_animation_pop1": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ "-35%", "100% - 22px" ],
// 끝 값
"to": [ "-35%", "100% - 0px" ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"bottom_background_back_animation_pop2": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ "17.5%", "-100% + 22px" ],
// 끝 값
"to": [ "17.5%", "-100% + 0px" ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"bottom_background_animation_push1": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ "-35%", "100% - 0px" ],
// 끝 값
"to": [ "-35%", "100% - 22px" ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"bottom_background_animation_push2": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ "17.5%", "-100% + 0px" ],
// 끝 값
"to": [ "17.5%", "-100% + 22px" ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"bottom_background_animation_pop1": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ "-35%", "100% - 0px" ],
// 끝 값
"to": [ "-35%", "100% - 22px" ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"bottom_background_animation_pop2": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ "17.5%", "-100% + 0px" ],
// 끝 값
"to": [ "17.5%", "-100% + 22px" ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"list_title": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 15 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"list_title@rainbowpie_ui_common.title_background": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_list_title_text|default": "TITLE TEXT",
// 가로/세로 크기
"size": [ "100%", 14 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 4px", 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title@rainbowpie_ui_common.title_label": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 보여줄 글자
"text": "$rainbowpie_localui_list_title_text",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"tab_navigation_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "65%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"world_navigation_tab@rainbowpieui_play.world_navigation_tab": {
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"friends_navigation_tab@rainbowpieui_play.friends_navigation_tab": {
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"server_navigation_tab@rainbowpieui_play.server_navigation_tab": {
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
}
]
},
// ???/?? ??
"common_navigation_tab_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"icon_section": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"icon@$tab_icon": {
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
}
]
}
},
{
// ???/?? ??
"text_section": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"text@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 보여줄 글자
"text": "$tab_text_name",
// 기준점에서 이동하는 거리
"offset": [ -1, 0 ],
// ?? (R,G,B,A)
"color": "$text_color"
}
}
]
}
},
{
// ???/?? ??
"count_section": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"count_background_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/numberBGFront",
// 가로/세로 크기
"size": [ "100%c + 3px", "100%c" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"count@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 보여줄 글자
"text": "$count_text_name",
// ?? (R,G,B,A)
"color": "$text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$count_text_name"
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"friends_navigation_tab_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"left_icon_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"icon_section": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$visibility_binding_override_name",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"icon@$tab_icon": {
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 기준점에서 이동하는 거리
"offset": "@play.anim_icon_wait_B"
}
}
]
}
},
{
// ???/?? ??
"icon_section_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$visibility_binding_override_name",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"icon@$tab_icon_2": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 기준점에서 이동하는 거리
"offset": "@play.anim_icon_wait_A"
}
}
]
}
},
{
// ???/?? ??
"icon_section_nobounce": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$visibility_binding_override_name_nobounce",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"icon@$tab_icon_nobounce": {
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 기준점에서 이동하는 거리
"offset": [ 0, -3 ]
}
}
]
}
},
{
// ???/?? ??
"icon_section_nobounce_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$visibility_binding_override_name_nobounce",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"icon@$tab_icon_nobounce_2": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 기준점에서 이동하는 거리
"offset": [ -5, 2 ]
}
}
]
}
},
{
// ???/?? ??
"icon_section_notification": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$visibility_binding_override_name_notification",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"icon@$tab_icon_notification": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 기준점에서 이동하는 거리
"offset": [ -0.5, -1 ]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"text_section": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"text@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 보여줄 글자
"text": "$tab_text_name",
// 기준점에서 이동하는 거리
"offset": [ -1, 0 ],
// ?? (R,G,B,A)
"color": "$text_color"
}
}
]
}
},
{
// ???/?? ??
"count_section": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"count_background_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/numberBGFront",
// 가로/세로 크기
"size": [ "100%c + 3px", "100%c" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"count@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 보여줄 글자
"text": "$count_text_name",
// ?? (R,G,B,A)
"color": "$text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$count_text_name"
}
]
}
}
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"top_tab@common_tabs.tab_top": {
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_alpha": 0,
// 오버라이드 가능한 변수
"$tab_panel": "rainbowpie_ui_tab.tab_panel",
// 오버라이드 가능한 변수
"$tab_content": "rainbowpieui_play.common_navigation_tab_content",
// 오버라이드 가능한 변수
"$toggle_tts_enabled_binding_type": "global",
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "navigation_tab",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": "$default_tab",
// 오버라이드 가능한 변수
"$toggle_tts_type_priority": 1001,
// 오버라이드 가능한 변수
"$toggle_tts_toggle_on_text": "",
// 오버라이드 가능한 변수
"$toggle_tts_toggle_off_text": "",
// 오버라이드 가능한 변수
"$toggle_tts_index_priority": 1002
},
// 다른 템플릿을 가져와서 확장(상속)
"world_navigation_tab@rainbowpieui_play.top_tab": {
// 오버라이드 가능한 변수
"$tab_view_binding_name": "world_navigation_tab_toggle",
// 오버라이드 가능한 변수
"$tab_icon": "play.worlds_icon",
// 오버라이드 가능한 변수
"$count_text_name": "#world_item_count",
// 오버라이드 가능한 변수
"$tab_text_name": "selectWorld.tab.worlds",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 0,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$is_editor_mode_enabled",
// 오버라이드 가능한 변수
"$tab_text_name": "playscreen.editor.worlds"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"friends_navigation_tab@rainbowpieui_play.top_tab": {
// 오버라이드 가능한 변수
"$tab_view_binding_name": "friends_navigation_tab_toggle",
// 오버라이드 가능한 변수
"$tab_icon": "play.friends_icon_2",
// 오버라이드 가능한 변수
"$tab_icon_2": "play.friends_icon_1",
// 오버라이드 가능한 변수
"$tab_icon_nobounce": "play.friends_icon_2",
// 오버라이드 가능한 변수
"$tab_icon_nobounce_2": "play.friends_icon_1",
// 오버라이드 가능한 변수
"$tab_icon_notification": "play.invite_icon",
// 오버라이드 가능한 변수
"$visibility_binding_override_name": "#friends_tab_show_bouncing",
// 오버라이드 가능한 변수
"$visibility_binding_override_name_nobounce": "#friends_tab_show_not_bouncing",
// 오버라이드 가능한 변수
"$visibility_binding_override_name_notification": "#friends_tab_show_invites",
// 오버라이드 가능한 변수
"$count_text_name": "#friend_world_item_count",
// 오버라이드 가능한 변수
"$tab_text_name": "selectWorld.tab.friends",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1,
// 오버라이드 가능한 변수
"$tab_content": "rainbowpieui_play.friends_navigation_tab_content"
},
// 다른 템플릿을 가져와서 확장(상속)
"server_navigation_tab@rainbowpieui_play.top_tab": {
// 오버라이드 가능한 변수
"$tab_view_binding_name": "server_navigation_tab_toggle",
// 오버라이드 가능한 변수
"$tab_icon": "play.server_tab_icon",
// 오버라이드 가능한 변수
"$count_text_name": "#server_world_item_count",
// 오버라이드 가능한 변수
"$tab_text_name": "selectWorld.tab.thirdParty",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 2
},
// ???/?? ??
"cloud_upload_and_edit_world_stack_panel": {
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ],
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#cloud_upload_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"cloud_upload_button@common_buttons.dark_content_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 가로/세로 크기
"size": [ "100%y - 1px", "100%" ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.cloud_upload",
// 오버라이드 가능한 변수
"$button_content": "play.upload_icon",
// 오버라이드 가능한 변수
"$button_tts_header": "accessibility.play.uploadWorld",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "local_worlds"
},
{
// 가져올 값 이름
"binding_name": "#cloud_upload_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"padding_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"local_world_edit_button@common_buttons.dark_content_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 가로/세로 크기
"size": [ "100%y - 1px", "100%" ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_local_world_item_edit",
// 오버라이드 가능한 변수
"$button_content": "play.edit_icon",
// 오버라이드 가능한 변수
"$button_tts_header": "accessibility.play.editWorld",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "local_worlds"
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"common_button_template@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"create_new_world_button_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"create_new_world_button@rainbowpieui_play.create_new_world_button": {
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"create_new_world_button@play.create_new_world_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ]
},
// ???/?? ??
"quick_play_button_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "50%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"quick_play_button@rainbowpieui_play.quick_play_button": {
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"quick_play_button@play.quick_play_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 가로/세로 크기
"size": [ "50%", "100%" ]
},
// 다른 템플릿을 가져와서 확장(상속)
"import_world_button@rainbowpieui_play.common_button_template": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($local_world_upload)",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.archived_world_upload"
},
{
// 이 조건이 맞으면 적용
"requires": "(not $local_world_upload)",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_import_level"
}
],
// 오버라이드 가능한 변수
"$button_tts_header": "accessibility.play.importWorld",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$button_content": "play.import_icon",
// 오버라이드 가능한 변수
"$button_size_override": [ "100% + 1px", "100%" ],
// 오버라이드 가능한 변수
"$button_background_anchor": "top_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 오버라이드 가능한 변수
"$create_new_row_focus_override_up|default": "close_button",
// 오버라이드 가능한 변수
"$focus_override_up": "$create_new_row_focus_override_up",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#worlds_tab_import_button_focus_down_override",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#focus_change_down"
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: popup_dialog_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpie_popup_dialog",
// ???/?? ??
"modal_dialog_with_buttons": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 가로/세로 크기
"size": [ 204, 132 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_popupdialog_button_panel": "common.empty_panel",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$three_buttons_visible",
// 오버라이드 가능한 변수
"$rainbowpie_localui_popupdialog_button_panel": "rainbowpie_popup_dialog.three_buttons_panel"
},
{
// 이 조건이 맞으면 적용
"requires": "$destructive_three_buttons_visible",
// 오버라이드 가능한 변수
"$rainbowpie_localui_popupdialog_button_panel": "rainbowpie_popup_dialog.three_buttons_panel"
},
{
// 이 조건이 맞으면 적용
"requires": "$two_buttons_visible",
// 오버라이드 가능한 변수
"$rainbowpie_localui_popupdialog_button_panel": "rainbowpie_popup_dialog.two_buttons_panel"
},
{
// 이 조건이 맞으면 적용
"requires": "$destructive_two_buttons_visible",
// 오버라이드 가능한 변수
"$rainbowpie_localui_popupdialog_button_panel": "rainbowpie_popup_dialog.two_buttons_panel"
},
{
// 이 조건이 맞으면 적용
"requires": "$single_button_visible",
// 오버라이드 가능한 변수
"$rainbowpie_localui_popupdialog_button_panel": "rainbowpie_popup_dialog.single_button_panel"
},
{
// 이 조건이 맞으면 적용
"requires": "$no_buttons_visible",
// 오버라이드 가능한 변수
"$rainbowpie_localui_popupdialog_button_panel": "rainbowpie_popup_dialog.no_button_panel"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dialog_panel@rainbowpie_ui_dialog.dialog_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "#text",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title_bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$visibility_source_control_name",
// 계산식/참조 값
"source_property_name": "#modal_title_text",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
],
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpie_popup_dialog.dialog_content",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_show_background": false,
// 오버라이드 가능한 변수
"$close_button_to_button_id": "popup_dialog.escape"
}
}
]
},
// ???/?? ??
"dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content_panel@rainbowpie_ui_dialog.content_background": {
// 가로/세로 크기
"size": [ "100%", "fill" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"text@popup_dialog.modal_label_panel": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle"
}
}
]
}
},
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 1px" ],
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_localui_popupdialog_button_panel = 'common.empty_panel')",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "100% + 1px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button_panel@$rainbowpie_localui_popupdialog_button_panel": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": "$rainbowpie_ui_theme_dialog_content_background_alpha",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 가로/세로 크기
"size": [ "100%", 23 ]
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"background_panel_design2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"full_screen_background@rainbowpie_ui_common.global_background": {
// 가로/세로 크기
"size": [ "200%", "200%" ],
// ?? (R,G,B,A)
"color": [ 0.0, 0.0, 0.0 ],
// ???
"alpha": 0.3,
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"ingame_background": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 가로/세로 크기
"size": [ 204, 132 ],
// 완전히 제거(공간도 없음)
"ignored": "$is_pregame",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"popup_dialog_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_dialog_background_alpha",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_dialog_ingame_oqaque",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_dialog_background_alpha": 1.0
}
]
}
}
]
}
},
{
// ???/?? ??
"blur_panel_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ "50% - 102px", 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"blur_panel_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "50% - 66px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"blur_layer_1@mintui_background.background_blur": {
// 오버라이드 가능한 변수
"$background_offset": [ "-100% + 204px", "-100% + 132px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ "50% - 102px", "50% - 66px" ],
// 오버라이드 가능한 변수
"$background_layer": 2
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"three_buttons_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"left@popup_dialog.modal_left_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"middle@popup_dialog.modal_middle_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"right@popup_dialog.modal_rightcancel_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
}
]
},
// ???/?? ??
"two_buttons_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"left@popup_dialog.modal_left_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"right@popup_dialog.modal_rightcancel_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
}
]
},
// ???/?? ??
"single_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{ "left@popup_dialog.modal_middle_button": { "$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button", "size": [ "100%", "100%" ] } }
]
},
// ???/?? ??
"no_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{ "left@popup_dialog.modal_middle_button": { "$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button", "$button_text": "gui.ok", "size": [ "100%", "100%" ] } }
]
},
// ???/?? ??
"background_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"blur_panel_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ "50% - 100px", 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"blur_panel_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "50% - 60px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"blur_layer_1@mintui_background.background_blur": {
// 오버라이드 가능한 변수
"$background_offset": [ "-100% + 200px", "-100% + 120px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ "50% - 100px", "50% - 60px" ],
// 오버라이드 가능한 변수
"$background_layer": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"mask_layer_1@mintui_background.background_mask": {
// 오버라이드 가능한 변수
"$background_offset": [ "-100% + 200px", "-100% + 120px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ "50% - 100px", "50% - 60px" ],
// 오버라이드 가능한 변수
"$background_layer": 2
}
}
]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: profile_card_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_profile_card",
// ???/?? ??
"profile_card_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_content@rainbowpie_ui_common.screen_content": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dialog@rainbowpie_ui_dialog.dialog_panel": {
// 가로/세로 크기
"size": "$dialog_size",
"max_size": "$dialog_max_size",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "options.profile",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_profile_card.dialog_content",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "(not $hide_skin)",
// 오버라이드 가능한 변수
"$dialog_size": [ 300, 235 ],
// 오버라이드 가능한 변수
"$dialog_max_size": [ 300, "100% - 4px" ]
},
{
// 이 조건이 맞으면 적용
"requires": "$hide_skin",
// 오버라이드 가능한 변수
"$dialog_size": [ 230, 235 ],
// 오버라이드 가능한 변수
"$dialog_max_size": [ 230, "100% - 4px" ]
}
]
}
}
]
}
}
]
},
// ???/?? ??
"dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dialog_content_with_skin@profile_card.dialog_content_with_skin": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle"
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: profile_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_profile",
// ???/?? ??
"delete_persona_dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content_panel@rainbowpie_ui_dialog.content_background": {
// 가로/세로 크기
"size": [ "100%", "fill" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"image@profile.alex_warning": {
// 기준점에서 이동하는 거리
"offset": [ 4, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 10
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"message@profile.delete_popup_dialog_message": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// 기준점에서 이동하는 거리
"offset": [ 26, 4 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 12
}
}
]
}
},
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 1px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "100% + 1px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": "$rainbowpie_ui_theme_dialog_content_background_alpha",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 가로/세로 크기
"size": [ "100%", 23 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"right_button@profile.delete_persona_right_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"left_button@profile.delete_persona_left_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"background_panel_design2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"full_screen_background@rainbowpie_ui_common.global_background": {
// ?? (R,G,B,A)
"color": [ 0.0, 0.0, 0.0 ],
// ???
"alpha": 0.3,
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"ingame_background": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 가로/세로 크기
"size": [ 204, 132 ],
// 완전히 제거(공간도 없음)
"ignored": "$is_pregame",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"popup_dialog_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_dialog_background_alpha"
}
}
]
}
},
{
// ???/?? ??
"blur_panel_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ "50% - 102px", 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"blur_panel_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "50% - 66px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"blur_layer_1@mintui_background.background_blur": {
// 오버라이드 가능한 변수
"$background_offset": [ "-100% + 204px", "-100% + 132px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ "50% - 102px", "50% - 66px" ],
// 오버라이드 가능한 변수
"$background_layer": 2
}
}
]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: progress_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_progress",
// ???/?? ??
"background_animation": {
// 완전히 제거(공간도 없음)
"ignored": "(not $animation_in or not $is_pregame)",
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 1.0,
// 시작 값
"from": "$animated_alpha_from",
// 끝 값
"to": "$animated_alpha_to",
"play_event": "$animated_alpha_play_event"
},
// ???/?? ??
"background_blur_animation": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_c448d476)",
// 오버라이드 가능한 변수
"$animation_in|default": true,
// 오버라이드 가능한 변수
"$animated_alpha_from|default": 0.0,
// 오버라이드 가능한 변수
"$animated_alpha_to|default": 1.0,
// 오버라이드 가능한 변수
"$animated_alpha_play_event|default": "screen.entrance_push",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "(not $animation_in)",
// 오버라이드 가능한 변수
"$animated_alpha_from": 1.0,
// 오버라이드 가능한 변수
"$animated_alpha_to": 0.0
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"background_blur_fullscreen": {
// 이미지 표시
"type": "image",
"fill": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 사용할 이미지 경로
"texture": "$rainbowpie_ui_theme_background_blur_texture",
// ???
"alpha": 1.0,
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 애니메이션 목록
"anims": [
"@rainbowpieui_progress.background_animation"
]
}
}
]
},
// ???/?? ??
"mobile_data_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%c + 6px", "100%c + 4px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [ -3, 10 ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha",
// 완전히 제거(공간도 없음)
"ignored": "(not ($is_android or $is_ios))",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"mobile_data_stack_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%cm", 30 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"icon_android": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/mobile_data_icon_android",
// 가로/세로 크기
"size": [ 16, 9 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 8 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 완전히 제거(공간도 없음)
"ignored": "(not $is_android)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"icon_ios@progress.mobile_data_ios_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/mobile_data_icon_ios",
// 가로/세로 크기
"size": [ 12, 13 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 4 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 완전히 제거(공간도 없음)
"ignored": "(not $is_ios)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"text@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "progressScreen.label.mobileData",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle"
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#mobile_data_icon_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// ?? ???
"binding_condition": "once"
}
]
},
// ???/?? ??
"simple_popup_dialog_base": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background_fullscreen@mintui_background.background_fullscreen": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"loading_progress_ui_blur@rainbowpieui_progress.loading_progress_ui_blur": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"resourcepacks_dialog_ui@rainbowpieui_progress.resourcepacks_dialog_ui": {}
},
{ "mobile_data_icon@rainbowpieui_progress.mobile_data_icon": {} },
{
// 다른 템플릿을 가져와서 확장(상속)
"title_text@rainbowpie_ui_common.title_text": {
// 기준점에서 이동하는 거리
"offset": [ 0, "5%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle"
}
}
]
},
// ???/?? ??
"resourcepacks_dialog_ui": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 220, 110 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 5 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 12,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"titlebar_control@rainbowpie_ui_common.title_background": {
// 가로/세로 크기
"size": [ "100%", 27 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_text@rainbowpie_ui_common.title_label": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 가로/세로 크기
"size": [ "default", "default" ],
"max_size": [ "100% - 8px", "100% - 4px" ],
// 보여줄 글자
"text": "$title_text"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@rainbowpie_ui_common.close_button": {
// 오버라이드 가능한 변수
"$close_button_to_button_id": "button.leave",
// 기준점에서 이동하는 거리
"offset": [ -2, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"content_control@rainbowpie_ui_common.text_background": {
// 가로/세로 크기
"size": [ "100%", 83 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 27 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"progress_bar_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 46 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"progress_bar_text@rainbowpie_ui_common.title_label": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 4 ],
// 가로/세로 크기
"size": [ "default", "default" ],
"max_size": [ "100% - 44px", 40 ],
// 보여줄 글자
"text": "$description_text"
}
}
]
}
},
{
// ???/?? ??
"inside_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ "100% - 1px", "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ 0, -0.5 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"top_button@common_buttons.light_text_button": {
// 보이기/숨기기(공간 유지)
"visible": "$use_top_button",
// ??/???
"enabled": "$use_top_button",
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "$top_button_press",
// 오버라이드 가능한 변수
"$button_binding_condition": "once",
// 오버라이드 가능한 변수
"$button_text_binding_type": "global",
// 오버라이드 가능한 변수
"$button_text": "$top_button_text",
// 가로/세로 크기
"size": [ "100%", 22 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -22 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"middle_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "$middle_button_press",
// 오버라이드 가능한 변수
"$button_binding_condition": "once",
// 오버라이드 가능한 변수
"$button_text_binding_type": "global",
// 오버라이드 가능한 변수
"$button_text": "$middle_button_text",
// 가로/세로 크기
"size": [ "50%", 22 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"bottom_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "$bottom_button_press",
// 오버라이드 가능한 변수
"$button_text": "$bottom_button_text",
// 가로/세로 크기
"size": [ "50%", 22 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right"
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"modal_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@rainbowpie_ui_common.global_background": {
// 가로/세로 크기
"size": [ "500%", "500%" ]
}
},
{
// ???/?? ??
"modal_progress_panel_with_cancel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$modal_screen_size",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": [ "100%-12px", "100%-60px" ],
// 기준점에서 이동하는 거리
"offset": [ 6, 20 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_panel@progress.title_panel": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"progress_loading_bars@rainbowpie_ui_common.progress_loading_bars": {
// 가로/세로 크기
"size": [ 65, 3 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 24 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#bar_animation_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"modal_button_panel@progress.modal_button_panel": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ "100%", 40 ]
}
}
]
}
}
]
},
// ???/?? ??
"world_loading_progress_screen": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background_blur_animation@rainbowpieui_progress.background_blur_animation": {}
},
{ "mobile_data_icon@rainbowpieui_progress.mobile_data_icon": {} },
{
// 다른 템플릿을 가져와서 확장(상속)
"title_text@rainbowpie_ui_common.title_text": {
// 기준점에서 이동하는 거리
"offset": [ 0, "5%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"world_loading_progress_ui@rainbowpieui_progress.world_loading_progress_ui": {
// 오버라이드 가능한 변수
"$modal_button_panel_type": "progress.modal_button_panel"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"loading_progress_ui_blur@rainbowpieui_progress.loading_progress_ui_blur": {}
},
{ "popup_dialog_factory@progress.popup_dialog_factory": {} }
]
},
// ???/?? ??
"world_saving_progress_screen": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background_blur_animation@rainbowpieui_progress.background_blur_animation": {
// 오버라이드 가능한 변수
"$animation_in": false
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"title_text@rainbowpie_ui_common.title_text": {
// 기준점에서 이동하는 거리
"offset": [ 0, "5%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"world_loading_progress_ui@rainbowpieui_progress.world_loading_progress_ui": {
// 오버라이드 가능한 변수
"$modal_button_panel_type": "progress.modal_button_panel_with_retry"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"loading_progress_ui_blur@rainbowpieui_progress.loading_progress_ui_blur": {}
},
{ "popup_dialog_factory@progress.popup_dialog_factory": {} }
]
},
// ???/?? ??
"loading_progress_ui_blur": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 11,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"titlebar_control_blur": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ "50% - 110px", "50% - 50px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"blur_layer_1@mintui_background.background_blur": {
// 오버라이드 가능한 변수
"$background_ingame": true,
// 오버라이드 가능한 변수
"$background_offset": [ "-100% + 220px", "-100% + 27px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ "50% - 110px", "50% + 23px" ],
// 오버라이드 가능한 변수
"$background_layer": 2
}
}
]
}
},
{
// ???/?? ??
"content_control_blur": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ "50% - 110px", "50% - 23px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"blur_layer_1@mintui_background.background_blur": {
// 오버라이드 가능한 변수
"$background_mask": false,
// 오버라이드 가능한 변수
"$background_ingame": true,
// 오버라이드 가능한 변수
"$background_offset": [ "-100% + 220px", "-100% + 83px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ "50% - 110px", "50% - 60px" ],
// 오버라이드 가능한 변수
"$background_layer": 1
}
}
]
}
}
]
},
// ???/?? ??
"world_loading_progress_ui": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 220, 110 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 5 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 12,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"titlebar_control@rainbowpie_ui_common.title_background": {
// 가로/세로 크기
"size": [ "100%", 27 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_text@rainbowpie_ui_common.title_label": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 가로/세로 크기
"size": [ "default", "default" ],
"max_size": [ "100% - 8px", "100% - 4px" ],
// 보여줄 글자
"text": "#title_text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#title_text"
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"content_control@rainbowpie_ui_common.text_background": {
// 가로/세로 크기
"size": [ "100%", 83 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 27 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"progress_bar_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 46 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"progress_bar_text@rainbowpie_ui_common.title_label": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 4 ],
// 가로/세로 크기
"size": [ "default", "default" ],
"max_size": [ "100% - 18px", 40 ],
"localize": false,
// 보여줄 글자
"text": "#progress_text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#progress_text"
}
]
}
}
]
}
},
{
// ???/?? ??
"inside_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ "100%-12px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"loading_bar_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 오버라이드 가능한 변수
"$float_min_percentage": 0.9,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"fancy_progress_loading_bars@rainbowpie_ui_common.fancy_progress_loading_bars": {
// 가로/세로 크기
"size": [ "90%", 3 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 15,
// 오버라이드 가능한 변수
"$rainbowpie_localui_loading_bars_bindings": [
{
// 가져올 값 이름
"binding_name": "#loading_bar_percentage",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#clip_ratio"
}
],
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#loading_bar_visible": true
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#loading_bar_visible",
// 완전히 제거(공간도 없음)
"ignored": "(not $is_pregame)"
},
{
// 가져올 값 이름
"binding_name": "#loading_bar_percentage"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#loading_bar_visible and (not (#loading_bar_percentage > $float_min_percentage)))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"fancy_progress_loading_bars_wait@rainbowpie_ui_common.progress_loading_bars": {
// 가로/세로 크기
"size": [ "90%", 3 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 15,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#loading_bar_visible": true
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#loading_bar_visible",
// 완전히 제거(공간도 없음)
"ignored": "(not $is_pregame)"
},
{
// 가져올 값 이름
"binding_name": "#loading_bar_percentage"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#loading_bar_visible and (#loading_bar_percentage > $float_min_percentage))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"progress_loading_bars@rainbowpie_ui_common.progress_loading_bars": {
// 가로/세로 크기
"size": [ 65, 3 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#bar_animation_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
},
{
// ???/?? ??
"vertical_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 5 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"modal_button_panel@$modal_button_panel_type": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ "100%", "100%c" ]
}
},
{
// ???/?? ??
"vertical_padding_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 14 ]
}
}
]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: realms_pending_invitations_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_realms_pending_invitations",
// ???/?? ??
"dark_banner": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// 다른 템플릿을 가져와서 확장(상속)
"dark_banner_hover@rainbowpieui_realms_pending_invitations.dark_banner": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_button_background_hover_color",
// ???
"alpha": "$rainbowpie_ui_theme_button_background_hover_alpha"
},
// ???/?? ??
"realms_invitation_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_content@rainbowpie_ui_common.screen_content": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dialog@rainbowpie_ui_dialog.dialog_panel": {
// 가로/세로 크기
"size": "$narrow_screen_size",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "realmsPendingInvitationsScreen.pendingInvitations",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "realms_pending_invitations.content_panel"
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: realms_plus_ended_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_realms_plus_ended",
// ???/?? ??
"dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content_panel@rainbowpie_ui_dialog.content_background": {
// 가로/세로 크기
"size": [ "100%", "fill" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"main_content@realms_plus_ended.main_content_panel": {}
}
]
}
},
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 1px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "100% + 1px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": "$rainbowpie_ui_theme_dialog_content_background_alpha",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 가로/세로 크기
"size": [ "100%", 23 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"more_info_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$button_text": "realmsPlus.popup.top_button_text",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.more_info"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"renew_subscription_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$button_text": "realmsPlus.popup.bottom_button_text",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.renew"
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"subscription_ended_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dialog_panel@rainbowpie_ui_dialog.dialog_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 18,
// 가로/세로 크기
"size": [ 260, 154 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "realmsPlus.popup.title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_realms_plus_ended.dialog_content",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_show_background": false
}
},
{
// ???/?? ??
"blur_panel_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ "50% - 130px", 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"blur_panel_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "50% - 77px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"blur_layer_1@mintui_background.background_blur": {
// 오버라이드 가능한 변수
"$background_offset": [ "-100% + 260px", "-100% + 154px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ "50% - 130px", "50% - 77px" ],
// 오버라이드 가능한 변수
"$background_layer": 2
}
}
]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: realmsplus_upgrade_notice_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_realmsplus_upgrade_notice_screen",
// ???/?? ??
"dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content_panel@rainbowpie_ui_dialog.content_background": {
// 가로/세로 크기
"size": [ "100%", "fill" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"main_content@realmsplus_upgrade_notice_screen.content": {}
}
]
}
},
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 1px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "100% + 1px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": "$rainbowpie_ui_theme_dialog_content_background_alpha",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 가로/세로 크기
"size": [ "100%", 23 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"left@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.continue_button",
// 오버라이드 가능한 변수
"$button_text": "realmsPlusUpgradeNotice.continue"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"right@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.viewpacks",
// 오버라이드 가능한 변수
"$button_text": "realmsPlusUpgradeNotice.viewpacks"
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"main_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dialog_panel@rainbowpie_ui_dialog.dialog_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 18,
// 가로/세로 크기
"size": [ 260, 204 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "realmsPlusUpgradeNotice.title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_realmsplus_upgrade_notice_screen.dialog_content",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_show_background": false
}
},
{
// ???/?? ??
"blur_panel_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ "50% - 130px", 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"blur_panel_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "50% - 102px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"blur_layer_1@mintui_background.background_blur": {
// 오버라이드 가능한 변수
"$background_offset": [ "-100% + 260px", "-100% + 204px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ "50% - 130px", "50% - 102px" ],
// 오버라이드 가능한 변수
"$background_layer": 2
}
}
]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: redstone_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_redstone",
// ???/?? ??
"output_slot_hover_info": {
// 클릭 가능한 버튼
"type": "button",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"hover_control": "hover",
// 오버라이드 가능한 변수
"$stack_count_required": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"hover": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hover_text@common.hover_text": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_86c54726)",
// 겹치는 순서(숫자 클수록 위)
"layer": 29,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#crafting_preview_info",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#hover_text"
}
]
}
},
{
// ???/?? ??
"custom_hover_text": {
// 클릭 가능한 버튼
"type": "button",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_86c54726)",
// ??/???
"enabled": "(not ($touch or $game_pad))",
"allow_clipping": false,
"follows_cursor": "(not ($touch or $game_pad))",
"consume_event": false,
"consume_hover_events": false,
// 포커스 가능 여부
"focus_enabled": false,
"hover_control": "$hover_control",
"locked_control": "$locked_control",
// 오버라이드 가능한 변수
"$hover_control": "hover_text",
// 오버라이드 가능한 변수
"$locked_control": "",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($touch or $game_pad)",
// 오버라이드 가능한 변수
"$hover_control": "",
// 오버라이드 가능한 변수
"$locked_control": "hover_text"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"hover_text": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "0px", "0px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"hover_text_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white')",
// 가로/세로 크기
"size": [ "100%c + 8px", "100%c + 5px" ],
// 기준점에서 이동하는 거리
"offset": [ 10, -8 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// ?? ????
"clips_children": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 200,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_hovertext_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_hovertext_background_alpha",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"background_icon": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "$rainbowpie_ui_theme_hovertext_bgicon_anchor",
// 기준점(어디에서 시작할지)
"anchor_from": "$rainbowpie_ui_theme_hovertext_bgicon_anchor",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_theme_hovertext_bgicon_enabled)",
"allow_clipping": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"icon_image": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": "$rainbowpie_ui_theme_hovertext_bgicon_size",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$rainbowpie_ui_theme_hovertext_bgicon_anchor",
// 기준점(어디에서 시작할지)
"anchor_from": "$rainbowpie_ui_theme_hovertext_bgicon_anchor",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_ui_theme_hovertext_bgicon_offset",
// 사용할 이미지 경로
"texture": "$rainbowpie_ui_theme_hovertext_bgicon_texture",
// ???
"alpha": "$rainbowpie_ui_theme_hovertext_bgicon_alpha",
"fill": "$rainbowpie_ui_theme_hovertext_bgicon_fill",
// 겹치는 순서(숫자 클수록 위)
"layer": 3
}
}
]
}
},
{
// ???/?? ??
"hover_text_controls": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%cm", "100%c" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hover_text_label@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", "default" ],
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_hovertext_text_color",
// 보여줄 글자
"text": "#hover_text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#crafting_preview_info",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#hover_text"
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"output_slot@common.item_renderer": {
// 가로/세로 크기
"size": [ "88.88888888888889%", "100%x" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#crafter_output_item",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#item_id_aux"
},
{
// 가져올 값 이름
"binding_name": "#crafter_output_item_color",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#item_custom_color"
},
{
// 가져올 값 이름
"binding_name": "#crafter_output_item_shield_base_color_hovered",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#shield_base_color"
},
{
// 가져올 값 이름
"binding_name": "#crafter_output_item_banner_patterns",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#banner_patterns"
},
{
// 가져올 값 이름
"binding_name": "#crafter_output_item_selected_banner_colors",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#banner_colors"
},
{
// 가져올 값 이름
"binding_name": "#crafter_output_item_selected_banner_type",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#banner_type"
},
{
// 가져올 값 이름
"binding_name": "#crafter_output_item_selected_decorated_pot_sherds",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#decorated_pot_sherds"
}
]
}
},
{
// ???/?? ??
"output_slot_border": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "144.4444444444444%", "100%x" ],
// 사용할 이미지 경로
"texture": "textures/ui/crafter_item_border"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"output_count@common.stack_count_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 20,
// 가로/세로 크기
"size": [ 18, 18 ],
// 기준점에서 이동하는 거리
"offset": [ "78.33333333333333%", "62.22222222222222%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#output_stack_count",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#inventory_stack_count"
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"crafter_disabled_slot@common.button": {
// 클릭 가능한 버튼
"type": "button",
"hover_control": "hover",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 20,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"default": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/slot_disabled"
}
},
{
// ???/?? ??
"hover": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/slot_enabled_hover"
}
},
{
// ???/?? ??
"pressed": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/slot_disabled"
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"hopper_root_panel@common.root_panel": {
// 가로/세로 크기
"size": [ 168, 125 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "inventory_selected_icon_button@common.inventory_selected_icon_button": {} },
{ "gamepad_cursor@common.gamepad_cursor_button": {} },
{ "inventory_take_progress_icon_button@common.inventory_take_progress_icon_button": {} },
{
// ???/?? ??
"inventory_ui_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 애니메이션 목록
"anims": [
"@rainbowpie_ui_animations.container_panel_exit_animation_push",
"@rainbowpie_ui_animations.container_panel_exit_animation_pop",
"@rainbowpie_ui_animations.container_panel_entrance_animation_push",
"@rainbowpie_ui_animations.container_panel_entrance_animation_pop"
],
"animation_reset_name": "screen_animation_reset",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background_icon@rainbowpie_ui_inventory.background_icon": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"chest_fastpick@rainbowpie_module_chest_fastpick.chest_fastpick_redstone": {
// 오버라이드 가능한 변수
"$redstone_container": true,
// 오버라이드 가능한 변수
"$redstone_container_hopper": true,
// 오버라이드 가능한 변수
"$container_item_id": "$rainbowpie_ui_flag_item_hopper",
// 오버라이드 가능한 변수
"$drop_button_size": [ "13.0952380952381%", "100%x" ],
// 오버라이드 가능한 변수
"$drop_button_offset": [ "100%x + 1.19047619047619%", "-62.4%" ],
// 오버라이드 가능한 변수
"$putin_button_size": [ "13.0952380952381%", "100%x" ],
// 오버라이드 가능한 변수
"$putin_button_offset": [ "100%x + 1.19047619047619%", "-19.2%" ],
// 오버라이드 가능한 변수
"$pickup_button_size": [ "13.0952380952381%", "100%x" ],
// 오버라이드 가능한 변수
"$pickup_button_offset": [ "100%x + 1.19047619047619%", 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 가로/세로 크기
"size": [ "100%", "18.4%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "$container_title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border1_size": [ "2.380952380952381%", 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border2_size": [ "2.380952380952381%", 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"common_panel@common.common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 가로/세로 크기
"size": [ "100%", "100% - 18.4%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle"
}
},
{
// ???/?? ??
"redstone_top_half": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 목록 이름
"collection_name": "container_items",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "53.57142857142857%", "14.4%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-64.8%" ],
// 오버라이드 가능한 변수
"$item_collection_name": "container_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_0@rainbowpie_ui_inventory_and_container.container_item": {
"collection_index": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_1@rainbowpie_ui_inventory_and_container.container_item": {
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_2@rainbowpie_ui_inventory_and_container.container_item": {
"collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_3@rainbowpie_ui_inventory_and_container.container_item": {
"collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_4@rainbowpie_ui_inventory_and_container.container_item": {
"collection_index": 4
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory@rainbowpie_ui_inventory_and_container.inventory_panel_bottom_half": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "43.2%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-19.2%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar@rainbowpie_ui_inventory_and_container.hotbar_grid_template": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "14.4%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-2.4%" ]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"redstone_root_panel@common.root_panel": {
// 가로/세로 크기
"size": [ 168, 161 ],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($container_type = 'dropper')",
// 오버라이드 가능한 변수
"$container_item_id": "$rainbowpie_ui_flag_item_dropper"
},
{
// 이 조건이 맞으면 적용
"requires": "($container_type = 'dispenser')",
// 오버라이드 가능한 변수
"$container_item_id": "$rainbowpie_ui_flag_item_dispenser"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{ "inventory_selected_icon_button@common.inventory_selected_icon_button": {} },
{ "gamepad_cursor@common.gamepad_cursor_button": {} },
{ "inventory_take_progress_icon_button@common.inventory_take_progress_icon_button": {} },
{
// ???/?? ??
"inventory_ui_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 애니메이션 목록
"anims": [
"@rainbowpie_ui_animations.container_panel_exit_animation_push",
"@rainbowpie_ui_animations.container_panel_exit_animation_pop",
"@rainbowpie_ui_animations.container_panel_entrance_animation_push",
"@rainbowpie_ui_animations.container_panel_entrance_animation_pop"
],
"animation_reset_name": "screen_animation_reset",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background_icon@rainbowpie_ui_inventory.background_icon": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"chest_fastpick@rainbowpie_module_chest_fastpick.chest_fastpick_redstone": {
// 오버라이드 가능한 변수
"$redstone_container": true,
// 오버라이드 가능한 변수
"$drop_button_size": [ "13.0952380952381%", "100%x" ],
// 오버라이드 가능한 변수
"$drop_button_offset": [ "100%x + 1.19047619047619%", "-48.4472049689441%" ],
// 오버라이드 가능한 변수
"$putin_button_size": [ "13.0952380952381%", "100%x" ],
// 오버라이드 가능한 변수
"$putin_button_offset": [ "100%x + 1.19047619047619%", "-14.90683229813665%" ],
// 오버라이드 가능한 변수
"$pickup_button_size": [ "13.0952380952381%", "100%x" ],
// 오버라이드 가능한 변수
"$pickup_button_offset": [ "100%x + 1.19047619047619%", 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 가로/세로 크기
"size": [ "100%", "14.28571428571429%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "$container_title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border1_size": [ "2.380952380952381%", 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border2_size": [ "2.380952380952381%", 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"common_panel@common.common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 가로/세로 크기
"size": [ "100%", "100% - 14.28571428571429%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle"
}
},
{
// ???/?? ??
"redstone_top_half": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "32.14285714285714%", "33.54037267080745%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-50.31055900621118%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"1": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 목록 이름
"collection_name": "container_items",
// 가로/세로 크기
"size": [ "100%", "33.33333333333333%" ],
// 오버라이드 가능한 변수
"$item_collection_name": "container_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_0@rainbowpie_ui_inventory_and_container.container_item": {
"collection_index": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_1@rainbowpie_ui_inventory_and_container.container_item": {
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_2@rainbowpie_ui_inventory_and_container.container_item": {
"collection_index": 2
}
}
]
}
},
{
// ???/?? ??
"2": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 목록 이름
"collection_name": "container_items",
// 가로/세로 크기
"size": [ "100%", "33.33333333333333%" ],
// 오버라이드 가능한 변수
"$item_collection_name": "container_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_0@rainbowpie_ui_inventory_and_container.container_item": {
"collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_1@rainbowpie_ui_inventory_and_container.container_item": {
"collection_index": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_2@rainbowpie_ui_inventory_and_container.container_item": {
"collection_index": 5
}
}
]
}
},
{
// ???/?? ??
"3": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 목록 이름
"collection_name": "container_items",
// 가로/세로 크기
"size": [ "100%", "33.33333333333333%" ],
// 오버라이드 가능한 변수
"$item_collection_name": "container_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_0@rainbowpie_ui_inventory_and_container.container_item": {
"collection_index": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_1@rainbowpie_ui_inventory_and_container.container_item": {
"collection_index": 7
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_2@rainbowpie_ui_inventory_and_container.container_item": {
"collection_index": 8
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory@rainbowpie_ui_inventory_and_container.inventory_panel_bottom_half": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "33.54037267080745%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-14.90683229813665%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar@rainbowpie_ui_inventory_and_container.hotbar_grid_template": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "11.18012422360248%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-1.863354037267081%" ]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"crafter_root_panel@common.root_panel": {
// 가로/세로 크기
"size": [ 168, 161 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "inventory_selected_icon_button@common.inventory_selected_icon_button": {} },
{ "gamepad_cursor@common.gamepad_cursor_button": {} },
{ "inventory_take_progress_icon_button@common.inventory_take_progress_icon_button": {} },
{
// ???/?? ??
"inventory_ui_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 애니메이션 목록
"anims": [
"@rainbowpie_ui_animations.container_panel_exit_animation_push",
"@rainbowpie_ui_animations.container_panel_exit_animation_pop",
"@rainbowpie_ui_animations.container_panel_entrance_animation_push",
"@rainbowpie_ui_animations.container_panel_entrance_animation_pop"
],
"animation_reset_name": "screen_animation_reset",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background_icon@rainbowpie_ui_inventory.background_icon": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"chest_fastpick@rainbowpie_module_chest_fastpick.chest_fastpick_redstone": {
// 오버라이드 가능한 변수
"$redstone_container": true,
// 오버라이드 가능한 변수
"$container_item_id": "$rainbowpie_ui_flag_item_crafter",
// 오버라이드 가능한 변수
"$drop_button_size": [ "13.0952380952381%", "100%x" ],
// 오버라이드 가능한 변수
"$drop_button_offset": [ "100%x + 1.19047619047619%", "-48.4472049689441%" ],
// 오버라이드 가능한 변수
"$putin_button_size": [ "13.0952380952381%", "100%x" ],
// 오버라이드 가능한 변수
"$putin_button_offset": [ "100%x + 1.19047619047619%", "-14.90683229813665%" ],
// 오버라이드 가능한 변수
"$pickup_button_size": [ "13.0952380952381%", "100%x" ],
// 오버라이드 가능한 변수
"$pickup_button_offset": [ "100%x + 1.19047619047619%", 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 가로/세로 크기
"size": [ "100%", "14.28571428571429%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "$container_title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border1_size": [ "2.380952380952381%", 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border2_size": [ "2.380952380952381%", 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"common_panel@common.common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 가로/세로 크기
"size": [ "100%", "100% - 14.28571428571429%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle"
}
},
{
// ???/?? ??
"crafter_input": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 가로/세로 크기
"size": [ "32.14285714285714%", "33.54037267080745%" ],
// 기준점에서 이동하는 거리
"offset": [ "12.5%", "-50.31055900621118%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"1": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 목록 이름
"collection_name": "container_items",
// 가로/세로 크기
"size": [ "100%", "33.33333333333333%" ],
// 오버라이드 가능한 변수
"$item_collection_name": "container_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"disabled_slot_0_button@rainbowpieui_redstone.crafter_disabled_slot": {
// 오버라이드 가능한 변수
"$pressed_button_name": "disabled_button0",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#button_visible0",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_0@rainbowpie_ui_inventory_and_container.container_item": {
"collection_index": 0,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #button_visible0)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"disabled_slot_1_button@rainbowpieui_redstone.crafter_disabled_slot": {
// 오버라이드 가능한 변수
"$pressed_button_name": "disabled_button1",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#button_visible1",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_1@rainbowpie_ui_inventory_and_container.container_item": {
"collection_index": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #button_visible1)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"disabled_slot_2_button@rainbowpieui_redstone.crafter_disabled_slot": {
// 오버라이드 가능한 변수
"$pressed_button_name": "disabled_button2",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#button_visible2",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_2@rainbowpie_ui_inventory_and_container.container_item": {
"collection_index": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #button_visible2)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
},
{
// ???/?? ??
"2": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 목록 이름
"collection_name": "container_items",
// 가로/세로 크기
"size": [ "100%", "33.33333333333333%" ],
// 오버라이드 가능한 변수
"$item_collection_name": "container_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"disabled_slot_0_button@rainbowpieui_redstone.crafter_disabled_slot": {
// 오버라이드 가능한 변수
"$pressed_button_name": "disabled_button3",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#button_visible3",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_0@rainbowpie_ui_inventory_and_container.container_item": {
"collection_index": 3,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #button_visible3)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"disabled_slot_1_button@rainbowpieui_redstone.crafter_disabled_slot": {
// 오버라이드 가능한 변수
"$pressed_button_name": "disabled_button4",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#button_visible4",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_1@rainbowpie_ui_inventory_and_container.container_item": {
"collection_index": 4,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #button_visible4)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"disabled_slot_2_button@rainbowpieui_redstone.crafter_disabled_slot": {
// 오버라이드 가능한 변수
"$pressed_button_name": "disabled_button5",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#button_visible5",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_2@rainbowpie_ui_inventory_and_container.container_item": {
"collection_index": 5,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #button_visible5)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
},
{
// ???/?? ??
"3": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 목록 이름
"collection_name": "container_items",
// 가로/세로 크기
"size": [ "100%", "33.33333333333333%" ],
// 오버라이드 가능한 변수
"$item_collection_name": "container_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"disabled_slot_0_button@rainbowpieui_redstone.crafter_disabled_slot": {
// 오버라이드 가능한 변수
"$pressed_button_name": "disabled_button6",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#button_visible6",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_0@rainbowpie_ui_inventory_and_container.container_item": {
"collection_index": 6,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #button_visible6)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"disabled_slot_1_button@rainbowpieui_redstone.crafter_disabled_slot": {
// 오버라이드 가능한 변수
"$pressed_button_name": "disabled_button7",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#button_visible7",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_1@rainbowpie_ui_inventory_and_container.container_item": {
"collection_index": 7,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #button_visible7)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"disabled_slot_2_button@rainbowpieui_redstone.crafter_disabled_slot": {
// 오버라이드 가능한 변수
"$pressed_button_name": "disabled_button8",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#button_visible8",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_2@rainbowpie_ui_inventory_and_container.container_item": {
"collection_index": 8,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #button_visible8)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"redstone_wire_line": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 가로/세로 크기
"size": [ "10.71428571428571%", "100%x" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [ "54.16666666666667%", "26.70807453416149%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#redstone_arrow_texture"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#redstone_arrow_texture - 'textures/ui/')",
// 결과가 들어갈 속성
"target_property_name": "#redstone_arrow_texture_filename"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(($rainbowpie_ui_path_overrides + '/ui/') + #redstone_arrow_texture_filename)",
// 결과가 들어갈 속성
"target_property_name": "#texture"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"crafter_output@rainbowpieui_redstone.output_slot_hover_info": {
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "10.71428571428571%", "100%x" ],
// 기준점에서 이동하는 거리
"offset": [ "32.14285714285714%", "-18.01242236024845%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory@rainbowpie_ui_inventory_and_container.inventory_panel_bottom_half": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "33.54037267080745%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-14.90683229813665%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar@rainbowpie_ui_inventory_and_container.hotbar_grid_template": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "11.18012422360248%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-1.863354037267081%" ]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: resource_packs_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_resource_packs",
// 다른 템플릿을 가져와서 확장(상속)
"selected_pack_movement_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "$button.selected_pack",
// 오버라이드 가능한 변수
"$visible_binding_name|default": "(not #is_selected)",
// 오버라이드 가능한 변수
"$visible_binding_type|default": "collection",
// 오버라이드 가능한 변수
"$enabled_binding_name|default": "#is_selected",
// 오버라이드 가능한 변수
"$enabled_binding_type|default": "collection",
// If $visible_binding_name isn't set we won't use that bind.
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($visible_binding_name = '' and $visible_binding_type = collection)",
// 오버라이드 가능한 변수
"$visible_binding_type": "none"
},
{
// 이 조건이 맞으면 적용
"requires": "($enabled_binding_name = '' and $enabled_binding_type = collection)",
// 오버라이드 가능한 변수
"$enabled_binding_type": "none"
}
],
// 가로/세로 크기
"size": [ 18, 18 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
},
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "$visible_binding_name",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 바인딩 종류(변수로 관리되는 경우도 있음)
"binding_type": "$visible_binding_type"
},
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "$enabled_binding_name",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled",
// 바인딩 종류(변수로 관리되는 경우도 있음)
"binding_type": "$enabled_binding_type"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"selected_pack_plus_button@rainbowpieui_resource_packs.selected_pack_movement_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$focus_id": "selected_pack_plus_button",
// 처음 포커스 우선순위
"default_focus_precedence": 1,
// 오버라이드 가능한 변수
"$pressed_button_name": "$button.move_left",
// 오버라이드 가능한 변수
"$button_content": "resource_packs.plus_image",
// 오버라이드 가능한 변수
"$visible_binding_name": "#can_move"
},
// ???/?? ??
"up_arrow_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/up_arrow",
// 가로/세로 크기
"size": [ 14, 14 ]
},
// ???/?? ??
"down_arrow_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/down_arrow",
// 가로/세로 크기
"size": [ 14, 14 ]
},
// ???/?? ??
"home_button_content": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/store_home_icon",
// 가로/세로 크기
"size": [ 13, 11 ]
},
// 다른 템플릿을 가져와서 확장(상속)
"selected_pack_minus_button@rainbowpieui_resource_packs.selected_pack_movement_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$focus_id": "selected_pack_minus_button",
// 처음 포커스 우선순위
"default_focus_precedence": 1,
// 오버라이드 가능한 변수
"$pressed_button_name": "$button.move_left",
// 오버라이드 가능한 변수
"$button_content": "resource_packs.minus_image",
// 오버라이드 가능한 변수
"$visible_binding_name": "#can_move"
},
// 다른 템플릿을 가져와서 확장(상속)
"selected_pack_store_button@rainbowpieui_resource_packs.selected_pack_movement_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$focus_id": "selected_pack_store_button",
// 처음 포커스 우선순위
"default_focus_precedence": 1,
// 오버라이드 가능한 변수
"$pressed_button_name": "$button.store",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_resource_packs.home_button_content",
// 오버라이드 가능한 변수
"$visible_binding_name": "#can_go_to_store"
},
// 다른 템플릿을 가져와서 확장(상속)
"selected_pack_options_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$focus_id": "selected_pack_options_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "$button.pack_settings",
// 오버라이드 가능한 변수
"$button_content": "resource_packs.options_image_panel",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "#has_pack_settings",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
},
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$button_collection_name"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"selected_pack_up_button@rainbowpieui_resource_packs.selected_pack_movement_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$focus_id": "selected_pack_up_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "$button.sort_up",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_resource_packs.up_arrow_image",
// 오버라이드 가능한 변수
"$visible_binding_name": "#can_sort_up"
},
// 다른 템플릿을 가져와서 확장(상속)
"selected_pack_down_button@rainbowpieui_resource_packs.selected_pack_movement_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$focus_id": "selected_pack_down_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "$button.sort_down",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_resource_packs.down_arrow_image",
// 오버라이드 가능한 변수
"$visible_binding_name": "#can_sort_down"
},
// ???/?? ??
"warning_image_wrapper": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 16, 14 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"icon_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"error_image@resource_packs.error_image_panel": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$selected_pack_items",
// 가져올 값 이름
"binding_name": "#has_errors",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"warning_image@resource_packs.warning_panel": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$selected_pack_items",
// 가져올 값 이름
"binding_name": "#has_errors",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 목록 이름
"binding_collection_name": "$selected_pack_items",
// 가져올 값 이름
"binding_name": "#has_warnings",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#has_warnings and not #has_errors)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"no_error_panel@resource_packs.no_error_panel": {
// 기준점에서 이동하는 거리
"offset": [ 0, 1 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$selected_pack_items",
// 가져올 값 이름
"binding_name": "#error_free",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"progress_loading_bars@resource_packs.progress_loading_bars": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$selected_pack_items",
// 가져올 값 이름
"binding_name": "#report_generating",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "#report_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
}
},
{
// ???/?? ??
"manifest_validation_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 20, 20 ],
// ?? (R,G,B,A)
"color": "$glyph_color",
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/global/resource_packs/manifest')",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "(not #report_button_visible)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"selected_pack_warning_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$focus_id": "selected_pack_warning_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "$button.report_errors",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_resource_packs.warning_image_wrapper",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
},
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "(not #report_generating)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"available_pack_panel@rainbowpieui_resource_packs.pack_panel": {
// 오버라이드 가능한 변수
"$button_collection_name": "$available_pack_items",
// 오버라이드 가능한 변수
"$pressed_button_name": "$button.available_pack",
// 오버라이드 가능한 변수
"$resource_pack_button_0": "rainbowpieui_resource_packs.selected_pack_plus_button",
// 오버라이드 가능한 변수
"$resource_pack_button_1": "rainbowpieui_resource_packs.selected_pack_store_button",
// 오버라이드 가능한 변수
"$resource_pack_button_2": "rainbowpieui_resource_packs.selected_pack_warning_button",
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_search_box_control|default": "rp_search_text_box_display_text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#name",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$button_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #hover_text - '\n' - '§0' - '§1' - '§2' - '§3' - '§4' - '§5' - '§6' - '§7' - '§8' - '§9' - '§a' - '§b' - '§c' - '§d' - '§e' - '§f' - '§g' - '§h' - '§i' - '§j' - '§k' - '§l' - '§m' - '§n' - '§o' - '§p' - '§q' - '§r' - '§s' - '§t' - '§u' - '§v' - '§w' - '§x' - '§y' - '§z' + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#formatted_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$rainbowpie_localui_resource_packs_search_box_control",
// 계산식/참조 값
"source_property_name": "#item_name",
// 결과가 들어갈 속성
"target_property_name": "#output_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not ((#formatted_name - #output_text) = #formatted_name)) or (#output_text = ''))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"selected_pack_panel@rainbowpieui_resource_packs.pack_panel": {
// 오버라이드 가능한 변수
"$button_collection_name": "$selected_pack_items",
// 오버라이드 가능한 변수
"$pressed_button_name": "$button.selected_pack",
// 오버라이드 가능한 변수
"$resource_pack_button_0": "rainbowpieui_resource_packs.selected_pack_minus_button",
// 오버라이드 가능한 변수
"$resource_pack_button_1": "rainbowpieui_resource_packs.selected_pack_store_button",
// 오버라이드 가능한 변수
"$resource_pack_button_2": "rainbowpieui_resource_packs.selected_pack_up_button",
// 오버라이드 가능한 변수
"$resource_pack_button_3": "rainbowpieui_resource_packs.selected_pack_down_button",
// 오버라이드 가능한 변수
"$resource_pack_button_4": "rainbowpieui_resource_packs.selected_pack_options_button",
// 오버라이드 가능한 변수
"$resource_pack_button_5": "rainbowpieui_resource_packs.selected_pack_warning_button",
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_search_box_control|default": "rp_search_text_box_display_text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#name",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$button_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #hover_text - '\n' - '§0' - '§1' - '§2' - '§3' - '§4' - '§5' - '§6' - '§7' - '§8' - '§9' - '§a' - '§b' - '§c' - '§d' - '§e' - '§f' - '§g' - '§h' - '§i' - '§j' - '§k' - '§l' - '§m' - '§n' - '§o' - '§p' - '§q' - '§r' - '§s' - '§t' - '§u' - '§v' - '§w' - '§x' - '§y' - '§z' + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#formatted_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$rainbowpie_localui_resource_packs_search_box_control",
// 계산식/참조 값
"source_property_name": "#item_name",
// 결과가 들어갈 속성
"target_property_name": "#output_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not ((#formatted_name - #output_text) = #formatted_name)) or (#output_text = ''))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"pack_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 52 ],
// 오버라이드 가능한 변수
"$button_collection_name": "null",
// 오버라이드 가능한 변수
"$pressed_button_name": "null",
// 오버라이드 가능한 변수
"$resource_pack_button_0|default": "resource_packs.empty_resource_pack_button",
// 오버라이드 가능한 변수
"$resource_pack_button_1|default": "resource_packs.empty_resource_pack_button",
// 오버라이드 가능한 변수
"$resource_pack_button_2|default": "resource_packs.empty_resource_pack_button",
// 오버라이드 가능한 변수
"$resource_pack_button_3|default": "resource_packs.empty_resource_pack_button",
// 오버라이드 가능한 변수
"$resource_pack_button_4|default": "resource_packs.empty_resource_pack_button",
// 오버라이드 가능한 변수
"$resource_pack_button_5|default": "resource_packs.empty_resource_pack_button",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"input_button_panel": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
"modal": true,
"inline_modal": true,
// 포커스 가능 여부
"focus_enabled": false,
// 보이기/숨기기(공간 유지)
"visible": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 19,
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ "100%", 50 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"pack_buttons_panel": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": [ 0.12941176470588237, 0.12941176470588237, 0.12941176470588237 ],
// ???
"alpha": 0.7,
// 겹치는 순서(숫자 클수록 위)
"layer": 20,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "100%c", 30 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"$resource_pack_button_0@$resource_pack_button_0": {
// 완전히 제거(공간도 없음)
"ignored": "($resource_pack_button_0 = 'resource_packs.empty_resource_pack_button')",
// 가로/세로 크기
"size": [ 30, 30 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"$resource_pack_button_1@$resource_pack_button_1": {
// 완전히 제거(공간도 없음)
"ignored": "($resource_pack_button_1 = 'resource_packs.empty_resource_pack_button')",
// 가로/세로 크기
"size": [ 30, 30 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"$resource_pack_button_2@$resource_pack_button_2": {
// 완전히 제거(공간도 없음)
"ignored": "($resource_pack_button_2 = 'resource_packs.empty_resource_pack_button')",
// 가로/세로 크기
"size": [ 30, 30 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"$resource_pack_button_3@$resource_pack_button_3": {
// 완전히 제거(공간도 없음)
"ignored": "($resource_pack_button_3 = 'resource_packs.empty_resource_pack_button')",
// 가로/세로 크기
"size": [ 30, 30 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"$resource_pack_button_4@$resource_pack_button_4": {
// 완전히 제거(공간도 없음)
"ignored": "($resource_pack_button_4 = 'resource_packs.empty_resource_pack_button')",
// 가로/세로 크기
"size": [ 30, 30 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"$resource_pack_button_5@$resource_pack_button_5": {
// 완전히 제거(공간도 없음)
"ignored": "($resource_pack_button_5 = 'resource_packs.empty_resource_pack_button')",
// 가로/세로 크기
"size": [ 30, 30 ]
}
}
]
}
}
]
}
}
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "$button.deselected_pack",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "$button.deselected_pack",
// 입력 시점(pressed 등)
"mapping_type": "global",
"consume_event": false
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_left",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_left",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_right",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_right",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "#direction_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 가져올 값 이름
"binding_name": "#is_using_gamepad",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#modal",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pack_button@resource_packs.common_pack_button": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ "100%", 50 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 18,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hover@common.focus_border_white": {
// 가로/세로 크기
"size": [ "100%", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pressed@common.focus_border_white": {
// 가로/세로 크기
"size": [ "100%", "100%" ]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
},
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "#direction_button_visible",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
}
},
{
// ???/?? ??
"banner": {
// 이미지 표시
"type": "image",
"fill": true,
"allow_debug_missing_texture": false,
"force_texture_reload": true,
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ "100%", 50 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 11,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "#icon_path",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #icon_path - 'pack_icon.png' + 'pack_banner.png' + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#texture"
},
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "#icon_zip",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#zip_folder",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "#icon_file_system",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"infomation_panel@rainbowpie_ui_common.text_background": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ "100%", 50 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 12,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"debug_text@rainbowpie_ui_common.text_label": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_debug)",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 보여줄 글자
"text": "#debug_text",
// 겹치는 순서(숫자 클수록 위)
"layer": 28,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#icon_path": "null",
// ???/??? ?
"#icon_zip": "null"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "#icon_path",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "#icon_zip",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('icon_path: ' + #icon_path + '\nicon_zip: ' + #icon_zip)",
// 결과가 들어갈 속성
"target_property_name": "#debug_text"
}
]
}
},
{
// ???/?? ??
"pack_icon": {
// 이미지 표시
"type": "image",
"allow_debug_missing_texture": false,
"force_texture_reload": true,
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ 50, 50 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 오버라이드 가능한 변수
"$icon_collection_name": "$button_collection_name",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"warning_panel": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// ???
"alpha": 0.7,
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"warning_text_error@rainbowpie_ui_common.text_label_notheme": {
// ?? ?? ??
"font_scale_factor": 1.5,
// 보여줄 글자
"text": "ERROR",
// ?? (R,G,B,A)
"color": "$c_color_format",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$selected_pack_items",
// 가져올 값 이름
"binding_name": "#has_errors",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"warning_text_warning@rainbowpie_ui_common.text_label_notheme": {
// ?? ?? ??
"font_scale_factor": 1.5,
// 보여줄 글자
"text": "WARN",
// ?? (R,G,B,A)
"color": "$e_color_format",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$selected_pack_items",
// 가져올 값 이름
"binding_name": "#has_errors",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 목록 이름
"binding_collection_name": "$selected_pack_items",
// 가져올 값 이름
"binding_name": "#has_warnings",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#has_warnings and not #has_errors)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "#error_free",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "#report_generating",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "#report_button_visible",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#report_button_visible and not #report_generating and not #error_free)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$icon_collection_name",
// 가져올 값 이름
"binding_name": "#icon_path",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 목록 이름
"binding_collection_name": "$icon_collection_name",
// 가져올 값 이름
"binding_name": "#icon_zip",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#zip_folder",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 목록 이름
"binding_collection_name": "$icon_collection_name",
// 가져올 값 이름
"binding_name": "#icon_file_system",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
}
},
{
// ???/?? ??
"pack_info_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "100% - 53px", "100% - 2px" ],
// 기준점에서 이동하는 거리
"offset": [ 52, 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"title_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", 15 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pack_name@rainbowpie_ui_common.text_label": {
// 글자 표시
"type": "label",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "default", 15 ],
"max_size": [ "80%", 15 ],
// 보여줄 글자
"text": "#pack_name",
// ?? ?? ??
"font_scale_factor": 1.5,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "#name",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(((#name - '[PML]') - '[HOTFIX]') - '[UITheme]')",
// 결과가 들어갈 속성
"target_property_name": "#pack_name"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"padding_0@common.empty_panel": {
// 가로/세로 크기
"size": [ 2, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "#name",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((('|'+#name) - '[PML]') = ('|'+#name)))",
// 결과가 들어갈 속성
"target_property_name": "#is_module_pack"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((('|'+#name) - '[HOTFIX]') = ('|'+#name)))",
// 결과가 들어갈 속성
"target_property_name": "#is_hotfix_pack"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((('|'+#name) - '[UITheme]') = ('|'+#name)))",
// 결과가 들어갈 속성
"target_property_name": "#is_theme_pack"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_module_pack or #is_hotfix_pack or #is_theme_pack)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pack_name_tag_module@rainbowpie_ui_common.text_label_notheme": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "default", 15 ],
// 보여줄 글자
"text": "rainbowpie.ui.resource_packs.tag.module",
// ?? ?? ??
"font_scale_factor": 1.5,
// ?? (R,G,B,A)
"color": "$b_color_format",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "#name",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((('|'+#name) - '[PML]') = ('|'+#name)))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pack_name_tag_package@rainbowpie_ui_common.text_label_notheme": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "default", 15 ],
// 보여줄 글자
"text": "rainbowpie.ui.resource_packs.tag.package",
// ?? ?? ??
"font_scale_factor": 1.5,
// ?? (R,G,B,A)
"color": "$b_color_format",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "#name",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((('|'+#name) - '[HOTFIX]') = ('|'+#name)))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pack_name_tag_theme@rainbowpie_ui_common.text_label_notheme": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "default", 15 ],
// 보여줄 글자
"text": "rainbowpie.ui.resource_packs.tag.theme",
// ?? ?? ??
"font_scale_factor": 1.5,
// ?? (R,G,B,A)
"color": "$b_color_format",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "#name",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((('|'+#name) - '[UITheme]') = ('|'+#name)))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"padding_1@common.empty_panel": {
// 가로/세로 크기
"size": [ "fill", 0 ]
}
},
{
// ???/?? ??
"error_text": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"glyph_image_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "50%y", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"glyph_image": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 1 ],
// 사용할 이미지 경로
"texture": "textures/ui/ErrorGlyph"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"padding_0@common.empty_panel": {
// 가로/세로 크기
"size": [ 1, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"error_number@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "default", "100%" ],
// "font_type": "MinecraftTen",
// "font_scale_factor": 0.8,
"text": "#num_errors",
// ?? (R,G,B,A)
"color": "$error_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#num_errors",
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"padding_1@common.empty_panel": {
// 가로/세로 크기
"size": [ 2, 0 ]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "#has_errors",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
}
},
{
// ???/?? ??
"warning_text": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"glyph_image_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "50%y", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"glyph_image": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 1 ],
// 사용할 이미지 경로
"texture": "textures/ui/WarningGlyph"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"padding_0@common.empty_panel": {
// 가로/세로 크기
"size": [ 1, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"warning_number@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "default", "100%" ],
// "font_type": "MinecraftTen",
// "font_scale_factor": 0.8,
"text": "#num_warnings",
// ?? (R,G,B,A)
"color": "$warning_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#num_warnings",
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"padding_1@common.empty_panel": {
// 가로/세로 크기
"size": [ 2, 0 ]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "#has_warnings",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
}
},
{
// ???/?? ??
"dev_tag": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "#icon_path",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (('\"' + #icon_path - '/development_' + '\"') = #icon_path)",
// 결과가 들어갈 속성
"target_property_name": "#is_development_icon_path"
},
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "#icon_zip",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (('\"' + #icon_zip - '/development_' + '\"') = #icon_zip)",
// 결과가 들어갈 속성
"target_property_name": "#is_development_icon_zip"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_development_icon_path or #is_development_icon_zip)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dev_tag_label@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "default", "default" ],
// 보여줄 글자
"text": "[DEV]",
// ?? (R,G,B,A)
"color": [ 1.0, 1.0, 0.333 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"dev_tag_padding@common.empty_panel": {
// 가로/세로 크기
"size": [ 2, 0 ]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pack_size@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "default", "default" ],
// 보여줄 글자
"text": "#size",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "#size",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pack_description@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", "fill" ],
// 보여줄 글자
"text": "#description",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$button_collection_name",
// 가져올 값 이름
"binding_name": "#description",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"resource_packs_header": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"header_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100% - 4px", "100%c" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"top_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 2 ]
}
},
{
// ???/?? ??
"top_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 보이기/숨기기(공간 유지)
"visible": "$show_checkbox",
// 가로/세로 크기
"size": [ "100%", 20 ],
// 오버라이드 가능한 변수
"$force_pack_download_binding_type|default": "none",
// 이 안에 들어가는 부품 목록
"controls": [
{ "panel_bg@resource_packs.panel_bg": {} },
{ "header_control@resource_packs.header_control": {} }
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#force_pack_download_enabled_level",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 바인딩 종류(변수로 관리되는 경우도 있음)
"binding_type": "$force_pack_download_binding_type"
},
{
// 가져올 값 이름
"binding_name": "#force_pack_download_locked_level",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled",
// 바인딩 종류(변수로 관리되는 경우도 있음)
"binding_type": "$force_pack_download_binding_type"
}
]
}
},
{
// ???/?? ??
"top_panel_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 1 ],
// 보이기/숨기기(공간 유지)
"visible": "$show_checkbox",
// 오버라이드 가능한 변수
"$force_pack_download_binding_type|default": "none",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#force_pack_download_enabled_level",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 바인딩 종류(변수로 관리되는 경우도 있음)
"binding_type": "$force_pack_download_binding_type"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"navigation_tab_panel@rainbowpieui_resource_packs.navigation_tab_panel": {
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_54edd49d) or ($rainbowpie_localui_resource_packs_type = 'null')"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"search_text_box@common.text_edit_box": {
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// 가로/세로 크기
"size": [ "100%", 22 ],
// 오버라이드 가능한 변수
"$text_box_name": "rp_search_text_box",
// 오버라이드 가능한 변수
"$text_edit_box_content_binding_name": "#rp_search_text_box_item_name",
// 오버라이드 가능한 변수
"$text_edit_text_control": "$rainbowpie_localui_resource_packs_search_box_control",
// 오버라이드 가능한 변수
"$place_holder_control": "rainbowpieui_resource_packs.search_text_box_place_holder_control",
// 오버라이드 가능한 변수
"$place_holder_text": "$rainbowpie_localui_resource_packs_search_box_placeholder",
// 끝에서 다시 처음으로 순환
"focus_wrap_enabled": false,
// ?? ?? ?
"max_length": 32767
}
}
]
}
}
]
},
// ???/?? ??
"resource_packs_screen": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_type|default": "null",
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_search_box_control|default": "rp_search_text_box_display_text",
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_search_box_placeholder|default": "rainbowpie.ui.resource_packs.search.placeholder.resource",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"section_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_54edd49d) or ($rainbowpie_localui_resource_packs_type = 'null')",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"selected_pack_section": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_pack_grid@resource_packs.selected_pack_grid": {
// 가로/세로 크기
"size": [ "100%", "default" ],
// 목록 아이템을 자동으로 생성
"factory": {
"name": "selected_pack_factory",
// ??? ???
"control_name": "rainbowpieui_resource_packs.selected_pack_panel"
}
}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"default_item@rainbowpie_ui_common.text_background": {
// 가로/세로 크기
"size": [ "100%", 50 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"pack_icon": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ 50, 50 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$default_item_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture"
},
{
// 가져올 값 이름
"binding_name": "$default_item_file_system",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system"
},
{
// 가져올 값 이름
"binding_name": "$default_item_zip",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#zip_folder"
}
]
}
},
{
// ???/?? ??
"pack_info_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "100% - 53px", "100% - 2px" ],
// 기준점에서 이동하는 거리
"offset": [ 52, 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"title_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", 15 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pack_name@rainbowpie_ui_common.text_label": {
// 글자 표시
"type": "label",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "default", 15 ],
"max_size": [ "80%", 15 ],
// 보여줄 글자
"text": "$default_item_title",
// ?? ?? ??
"font_scale_factor": 1.5
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pack_description@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", "fill" ],
// 보여줄 글자
"text": "$default_item_description"
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$rainbowpie_localui_resource_packs_search_box_control",
// 계산식/참조 값
"source_property_name": "#item_name",
// 결과가 들어갈 속성
"target_property_name": "#output_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#output_text = '')",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "($rainbowpie_localui_resource_packs_type + '_selected_packs_navigation_tab_toggle')",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"available_packs_section": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"available_pack_grid@resource_packs.available_pack_grid": {
// 가로/세로 크기
"size": [ "100%", "default" ],
// 목록 아이템을 자동으로 생성
"factory": {
"name": "available_pack_factory",
// ??? ???
"control_name": "rainbowpieui_resource_packs.available_pack_panel"
}
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "($rainbowpie_localui_resource_packs_type + '_available_packs_navigation_tab_toggle')",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
]
},
// ???/?? ??
"search_text_box_place_holder_control": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"search_icon": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ 16, 16 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 1 ],
// 사용할 이미지 경로
"texture": "textures/ui/magnifyingGlass",
// ???
"alpha": 0.5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"place_holder_text@common.text_edit_box_place_holder_label": {
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점에서 이동하는 거리
"offset": [ 18, 0 ]
}
}
]
},
// ???/?? ??
"navigation_tab_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 가로/세로 크기
"size": [ "100%", 20 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_packs_navigation_tab@rainbowpieui_resource_packs.top_tab": {
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$tab_view_binding_name": "($rainbowpie_localui_resource_packs_type + '_selected_packs_navigation_tab_toggle')",
// 오버라이드 가능한 변수
"$tab_text": "rainbowpie.ui.resource_packs.tab.selected_packs",
// 오버라이드 가능한 변수
"$tab_content": "rainbowpieui_resource_packs.selected_packs_title_content",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 0,
// 오버라이드 가능한 변수
"$toggle_default_state": true
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"available_packs_navigation_tab@rainbowpieui_resource_packs.top_tab": {
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$tab_view_binding_name": "($rainbowpie_localui_resource_packs_type + '_available_packs_navigation_tab_toggle')",
// 오버라이드 가능한 변수
"$tab_text": "rainbowpie.ui.resource_packs.tab.available_packs",
// 오버라이드 가능한 변수
"$tab_content": "rainbowpieui_resource_packs.available_packs_title_content",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"available_packs_title_content@rainbowpieui_resource_packs.selected_packs_title_content": {
// 오버라이드 가능한 변수
"$title_text": "$available_label_text",
// 오버라이드 가능한 변수
"$icon_texture": "textures/items/book_normal",
// 오버라이드 가능한 변수
"$count_name": "#available_count",
// 오버라이드 가능한 변수
"$name_collection_name": "$available_pack_items",
// 오버라이드 가능한 변수
"$grid_visible": "#available_grid_visible",
// 오버라이드 가능한 변수
"$ignore_tooltip": true
},
// ???/?? ??
"selected_packs_title_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 2px", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 오버라이드 가능한 변수
"$title_text|default": "$selected_label_text",
// 오버라이드 가능한 변수
"$icon_texture|default": "textures/blocks/grass_side_carried",
// 오버라이드 가능한 변수
"$count_name|default": "#selected_count",
// 오버라이드 가능한 변수
"$name_collection_name|default": "$selected_pack_items",
// 오버라이드 가능한 변수
"$grid_visible|default": "#selected_grid_visible",
// 오버라이드 가능한 변수
"$ignore_tooltip|default": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_label@rainbowpie_ui_common.text_label_notheme": {
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "default", 10 ],
"max_size": [ "50%", 10 ],
// 보여줄 글자
"text": "$title_text",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// ???/?? ??
"icon_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"block_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 11, 11 ],
// 사용할 이미지 경로
"texture": "$icon_texture"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$name_collection_name",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져올 값 이름
"binding_name": "#any_exceptions"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not #any_exceptions)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"tooltip": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ 11, 11 ],
// 완전히 제거(공간도 없음)
"ignored": "$ignore_tooltip",
// 보이기/숨기기(공간 유지)
"visible": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"tooltip_image_wrapper@resource_packs.tooltip_image_wrapper": {
// 오버라이드 가능한 변수
"$button_collection_name": "$name_collection_name"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$name_collection_name",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져올 값 이름
"binding_name": "#any_exceptions",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"count@rainbowpie_ui_common.text_label_notheme": {
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "default", 10 ],
"max_size": [ 30, 10 ],
// 기준점에서 이동하는 거리
"offset": [ -14, -2 ],
// 보여줄 글자
"text": "$count_name",
// ??
"font_type": "MinecraftTen",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$count_name",
// 목록 이름
"binding_collection_name": "$name_collection_name",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"top_tab@common_tabs.tab_top": {
// 오버라이드 가능한 변수
"$tab_panel": "rainbowpie_ui_tab.tab_panel",
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "($rainbowpie_localui_resource_packs_type + '_rainbowpieui_navigation_tab')",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 0,
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 오버라이드 가능한 변수
"$tab_content": "rainbowpieui_resource_packs.top_tab_content"
},
// ???/?? ??
"top_tab_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"tab_label@rainbowpie_ui_common.text_label_notheme": {
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "default", "default" ],
// ?? ??
"text_alignment": "center",
// 보여줄 글자
"text": "$tab_text",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: safe_zone_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_safe_zone",
// ???/?? ??
"background_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background_blur@mintui_background.background_blur_fullscreen": {}
}
]
},
// ??? ??
"scrolling_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 4px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content_panel@safe_zone.content_panel": {
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
},
// ???/?? ??
"dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content_panel@rainbowpie_ui_dialog.content_background": {
// 가로/세로 크기
"size": [ "100%", "fill" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@common.scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_sliderbar_enabled": true,
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$scrolling_pane_size": [ "100% - 4px", "100%" ],
// 오버라이드 가능한 변수
"$scrolling_pane_offset": [ 2, 0 ],
// 오버라이드 가능한 변수
"$scroll_size": [ 4, "100% - 4px" ],
// 오버라이드 가능한 변수
"$scrolling_content": "rainbowpieui_safe_zone.scrolling_content",
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 2, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$show_background": false,
// 오버라이드 가능한 변수
"$bar_visible": true
}
}
]
}
},
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 1px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "100% + 1px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": "$rainbowpie_ui_theme_dialog_content_background_alpha",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 가로/세로 크기
"size": [ "100%", 23 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"confirm_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$button_text": "gui.confirm",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.confirm_button"
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"dialog_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$dialog_size",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dialog_panel@rainbowpie_ui_dialog.dialog_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 18,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "options.safeZone.title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_safe_zone.dialog_content",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_show_background": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_show_close": false
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: scoreboards_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_scoreboard",
// ???/?? ??
"scoreboard_sidebar_player_inner_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%cm", "100%cm" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_name_text@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "default", "default" ],
"max_size": [ 100, "default" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 보여줄 글자
"text": "#player_name_sidebar",
// ?? (R,G,B,A)
"color": "$player_name_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#player_name_sidebar",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "scoreboard_players"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#player_name_sidebar - ((' ' + $rainbowpie_localui_text_replace_pattern + ' ') - ' *' - '* ' - ' ') = #player_name_sidebar))",
// 결과가 들어갈 속성
"target_property_name": "#matches_player_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not #matches_player_name)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"replacement_text@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "default", "default" ],
"max_size": [ 100, "default" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 보여줄 글자
"text": "$rainbowpie_localui_text_replace_replacement",
// ?? (R,G,B,A)
"color": "$player_name_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#player_name_sidebar",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "scoreboard_players"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#player_name_sidebar - ((' ' + $rainbowpie_localui_text_replace_pattern + ' ') - ' *' - '* ' - ' ') = #player_name_sidebar))",
// 결과가 들어갈 속성
"target_property_name": "#matches_player_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#matches_player_name)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: screenshot_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_screenshot",
// ???/?? ??
"screenshot_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: server_form_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.8.10286.1 (v1.21.50)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_server_form",
// ???/?? ??
"search_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "50%", "50%" ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/serverform/search')"
},
// 다른 템플릿을 가져와서 확장(상속)
"search_button_toggle_base@common_toggles.light_ui_toggle": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_border_enabled": false,
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_server_form.search_icon",
// 오버라이드 가능한 변수
"$button_type_panel": "common_buttons.new_ui_binding_button_label",
// 오버라이드 가능한 변수
"$button_text_binding_type": "none",
// 오버라이드 가능한 변수
"$button_binding_condition": "none",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "none",
// 오버라이드 가능한 변수
"$button_text": "",
// 오버라이드 가능한 변수
"$button_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpie_serverform_item_search",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 1001,
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 0,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": ""
},
// ???/?? ??
"hide_search_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/chevron_right",
// 가로/세로 크기
"size": [ "70%", "70%" ],
// ?? (R,G,B,A)
"color": "$text_color"
},
// ???/?? ??
"search_box_place_holder_control": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"search_icon": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ 10, 10 ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/serverform/search')",
// ???
"alpha": 0.5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"place_holder_text@common.text_edit_box_place_holder_label": {
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점에서 이동하는 거리
"offset": [ 12, 0 ]
}
}
]
},
// ???/?? ??
"ui_mode_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 15, 15 ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/serverform/ui_mode')",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 8
},
// 다른 템플릿을 가져와서 확장(상속)
"vanilla_button@common_toggles.light_ui_toggle": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "rainbowpie.ui.serverform.vanilla_tip",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text_offset": [ -10, -10 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text_anchor": "top_right",
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_localui_backup_screen) or ($screen_content = $rainbowpie_localui_backup_screen_content))",
// ??/???
"enabled": false,
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_server_form.ui_mode_icon",
// 오버라이드 가능한 변수
"$button_text_binding_type": "none",
// 오버라이드 가능한 변수
"$button_binding_condition": "none",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "none",
// 오버라이드 가능한 변수
"$button_text": "rainbowpie.ui.serverform.vanilla",
// 오버라이드 가능한 변수
"$button_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpie_serverformui_toggle",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 900,
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 900,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "vanilla_serverform",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "vanilla_serverform",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"serverformui_button@rainbowpieui_server_form.vanilla_button": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "rainbowpie.ui.serverform.serverformui_tip",
// 오버라이드 가능한 변수
"$button_text": "rainbowpie.ui.serverform.serverformui",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 901,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "rainbowpie_serverformui",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "rainbowpie_serverformui",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
},
// ???/?? ??
"custom_toggle": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"toggle@server_form.custom_toggle": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_enabled": true
}
}
]
},
// ???/?? ??
"custom_slider": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"slider@server_form.custom_slider": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_sliderbar_enabled": true
}
}
]
},
// ???/?? ??
"custom_step_slider": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"step_slider@server_form.custom_step_slider": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_sliderbar_enabled": true
}
}
]
},
// ???/?? ??
"custom_dropdown": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dropdown@settings_common.option_dropdown": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_rainbowpiebutton_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_show_button": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content_panel": "rainbowpieui_server_form.custom_dropdown_content_panel",
// 오버라이드 가능한 변수
"$option_label": "#custom_text",
// 오버라이드 가능한 변수
"$dropdown_content": "server_form.custom_dropdown_content",
// 오버라이드 가능한 변수
"$dropdown_area": "inside_header_panel",
// 오버라이드 가능한 변수
"$dropdown_name": "custom_dropdown",
// 오버라이드 가능한 변수
"$toggle_binding_type": "collection",
// 오버라이드 가능한 변수
"$toggle_grid_collection_name": "custom_form",
// 오버라이드 가능한 변수
"$options_dropdown_toggle_label_binding": "#dropdown_option_text",
// 오버라이드 가능한 변수
"$options_dropdown_toggle_label_binding_type": "collection",
// 오버라이드 가능한 변수
"$options_dropdown_toggle_label_binding_collection_name": "custom_form",
// 오버라이드 가능한 변수
"$dropdown_scroll_content_size": [ "100%", "200%" ],
// 오버라이드 가능한 변수
"$label_bindings": [
{
// 가져올 값 이름
"binding_name": "#custom_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "custom_form"
}
]
}
}
]
},
// ???/?? ??
"custom_input": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"input@server_form.custom_input": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_editbox_enabled": true,
// 오버라이드 가능한 변수
"$max_text_edit_length": 32500
}
}
]
},
// ???/?? ??
"custom_dropdown_content_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"custom_dropdown_length@rainbowpie_ui_common.title_label": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_debug)",
"shadow": true,
// ?? ??
"text_alignment": "left",
// 보여줄 글자
"text": "#custom_dropdown_length_str",
// 가로/세로 크기
"size": [ "default", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#custom_dropdown_length",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "custom_form"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #custom_dropdown_length + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#custom_dropdown_length_str"
}
]
}
},
{
// ???/?? ??
"normal": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 목록 아이템을 자동으로 생성
"factory":{
"name": "buttons",
// ??? ???
"control_name": "rainbowpieui_server_form.custom_dropdown_radio"
},
// 목록 이름
"collection_name": "custom_dropdown",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#custom_dropdown_length",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length",
// 목록 이름
"binding_collection_name": "custom_form"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#collection_length > 4))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"many": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 목록 아이템을 자동으로 생성
"factory":{
"name": "buttons",
// ??? ???
"control_name": "rainbowpieui_server_form.custom_dropdown_radio_many"
},
// 목록 이름
"collection_name": "custom_dropdown",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#custom_dropdown_length",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length",
// 목록 이름
"binding_collection_name": "custom_form"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_length > 4)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"custom_dropdown_radio_many@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content_item_size": [ "22.22222222222222%", "default" ],
// 오버라이드 가능한 변수
"$toggle_name": "custom_dropdown_radio_toggle",
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#custom_radio_toggled",
// 오버라이드 가능한 변수
"$toggle_binding_type": "collection",
// 오버라이드 가능한 변수
"$toggle_grid_collection_name": "custom_dropdown",
// 오버라이드 가능한 변수
"$toggle_collection_details_type": "collection_details",
// 오버라이드 가능한 변수
"$radio_label_text": "#custom_radio_text",
// 오버라이드 가능한 변수
"$radio_label_bindings": [
{
// 가져올 값 이름
"binding_name": "#custom_radio_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "custom_dropdown"
},
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"custom_dropdown_radio@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_name": "custom_dropdown_radio_toggle",
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#custom_radio_toggled",
// 오버라이드 가능한 변수
"$toggle_binding_type": "collection",
// 오버라이드 가능한 변수
"$toggle_grid_collection_name": "custom_dropdown",
// 오버라이드 가능한 변수
"$toggle_collection_details_type": "collection_details",
// 오버라이드 가능한 변수
"$radio_label_text": "#custom_radio_text",
// 오버라이드 가능한 변수
"$radio_label_bindings": [
{
// 가져올 값 이름
"binding_name": "#custom_radio_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "custom_dropdown"
},
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
}
]
},
// ???/?? ??
"main_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_content@rainbowpie_ui_common.screen_content": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_ingame_anim1": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": [
{
// ???/?? ??
"screen_stack": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "200%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"screen_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "50%", "100%" ],
// 보이기/숨기기(공간 유지)
"visible": true,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#is_vanilla_serverform_ui_opened": true
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "vanilla_serverform",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#is_vanilla_serverform_ui_opened"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_vanilla_serverform_ui_opened)",
// 결과가 들어갈 속성
"target_property_name": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_backup_screen)"
}
]
}
},
{
// ???/?? ??
"vanilla_serverform_ui": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "50%", "100%" ],
// 완전히 제거(공간도 없음)
"ignored": "($screen_content = $rainbowpie_localui_backup_screen_content)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"serverformui_button@rainbowpieui_server_form.serverformui_button": {
// 가로/세로 크기
"size": [ "28px", "28px" ],
// 기준점에서 이동하는 거리
"offset": [ -8, -17 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 125,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"server_form@$screen_content": {}
}
]
}
},
{
// ???/?? ??
"rainbowpie_serverform_ui": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "50%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"vanilla_button@rainbowpieui_server_form.vanilla_button": {
// 가로/세로 크기
"size": [ "28px", "28px" ],
// 기준점에서 이동하는 거리
"offset": [ -8, -17 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ]
}
},
{
// ???/?? ??
"server_form_factory": {
// 리스트를 자동으로 생성하는 공장
"type": "factory",
// ???/?? ??
"factory_variables": [
"$rainbowpie_localui_backup_screen"
],
// 팩토리 템플릿 매핑
"control_ids": {
"long_form": "@rainbowpieui_server_form.long_form",
"custom_form": "@rainbowpieui_server_form.custom_form"
}
}
}
]
}
}
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"custom_form@rainbowpie_ui_dialog.dialog_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "#title_text",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title_bindings": [
{
// 가져올 값 이름
"binding_name": "#title_text"
}
],
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_extra_controls": "rainbowpieui_server_form.custom_form_dialog_button",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_server_form.custom_form_scrolling_panel",
// 가로/세로 크기
"size": [ 225, 200 ]
},
// ???/?? ??
"custom_form_dialog_button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"custom_form_button_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"submit_button@common_buttons.light_text_form_fitting_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_form_fitting_button",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.submit_custom_form",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 오버라이드 가능한 변수
"$button_text": "#submit_text",
// 오버라이드 가능한 변수
"$button_text_binding_type": "global",
// 오버라이드 가능한 변수
"$button_binding_condition": "once",
// ??/???
"enabled": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#submit_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "vanilla_serverform",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#is_vanilla_serverform_ui_opened"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not #is_vanilla_serverform_ui_opened)",
// 결과가 들어갈 속성
"target_property_name": "#enabled",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_backup_screen)"
}
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"custom_form_scrolling_panel@common.scrolling_panel" : {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 오버라이드 가능한 변수
"$show_background": false,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$scrolling_content": "rainbowpieui_server_form.custom_form_scrolling_content",
// 오버라이드 가능한 변수
"$scroll_size": [ 5, "100% - 4px" ],
// 오버라이드 가능한 변수
"$scrolling_pane_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$scrolling_pane_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 2, 0 ],
// 보이기/숨기기(공간 유지)
"visible": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "vanilla_serverform",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#is_vanilla_serverform_ui_opened"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not #is_vanilla_serverform_ui_opened)",
// 결과가 들어갈 속성
"target_property_name": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_backup_screen)"
}
]
},
// ???/?? ??
"custom_form_scrolling_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100% - 4px", "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"generated_form@rainbowpieui_server_form.generated_contents": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"submit_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.submit_custom_form",
// 가로/세로 크기
"size": [ "100%", 32 ],
// 오버라이드 가능한 변수
"$button_text": "#submit_text",
// 오버라이드 가능한 변수
"$button_text_binding_type": "global",
// 오버라이드 가능한 변수
"$button_binding_condition": "once",
// ??/???
"enabled": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#submit_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "vanilla_serverform",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#is_vanilla_serverform_ui_opened"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not #is_vanilla_serverform_ui_opened)",
// 결과가 들어갈 속성
"target_property_name": "#enabled",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_backup_screen)"
}
]
}
}
]
},
// ???/?? ??
"generated_contents": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": ["100%", "100%c"],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 목록 아이템을 자동으로 생성
"factory":{
"name": "buttons",
// 팩토리 템플릿 매핑
"control_ids": {
"label": "@rainbowpieui_server_form.custom_label",
"toggle": "@rainbowpieui_server_form.custom_toggle",
"slider": "@rainbowpieui_server_form.custom_slider",
"step_slider": "@rainbowpieui_server_form.custom_step_slider",
"dropdown": "@rainbowpieui_server_form.custom_dropdown",
"input": "@rainbowpieui_server_form.custom_input",
"header": "@rainbowpieui_server_form.custom_header",
"divider": "@settings_common.option_group_section_divider"
}
},
// 목록 이름
"collection_name": "custom_form",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#custom_form_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}
]
},
// ???/?? ??
"custom_label": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 4px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"custom_text@rainbowpie_ui_common.editable_label": {
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"text_box_name": "custom_text",
"text_control": "custom_display_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"custom_display_text@rainbowpie_ui_common.text_label_notheme": {
// ?? (R,G,B,A)
"color": "$main_header_text_color",
// 기준점에서 이동하는 거리
"offset": [ 2, 2 ],
// 가로/세로 크기
"size": [ "100% - 4px", "default" ],
// 보여줄 글자
"text": "#custom_text",
// 게임 값과 연결하는 규칙 목록
"bindings":[
{
// 가져올 값 이름
"binding_name": "#custom_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "custom_form"
}
]
}
}
]
}
}
]
},
// ???/?? ??
"custom_header": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 4px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"custom_text@rainbowpie_ui_common.editable_label": {
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"text_box_name": "custom_text",
"text_control": "custom_display_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"custom_display_text@rainbowpie_ui_common.text_label_notheme": {
// ?? (R,G,B,A)
"color": "$main_header_text_color",
// 기준점에서 이동하는 거리
"offset": [ 2, 2 ],
// 가로/세로 크기
"size": [ "100% - 4px", "default" ],
// 보여줄 글자
"text": "#custom_text",
"font_size": "large",
// 게임 값과 연결하는 규칙 목록
"bindings":[
{
// 가져올 값 이름
"binding_name": "#custom_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "custom_form"
}
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"long_form@rainbowpie_ui_dialog.dialog_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "#title_text",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title_bindings": [
{
// 가져올 값 이름
"binding_name": "#title_text"
}
],
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_extra_controls": "rainbowpieui_server_form.long_form_dialog_button",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_server_form.long_form_scrolling_panel",
// 가로/세로 크기
"size": [ 225, 200 ]
},
// ???/?? ??
"long_form_dialog_button": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"search_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"search_inputbox": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_search_box",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"back_button@rainbowpieui_server_form.search_button_toggle_base": {
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_server_form.hide_search_icon",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "100%y", "76%" ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1001,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "hide_search_box",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 오버라이드 가능한 변수
"$button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_search_box",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"search_text_box@common.text_edit_box": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_editbox_enabled": true,
// 오버라이드 가능한 변수
"$edit_box_indent_size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "440%y", "76%" ],
// 오버라이드 가능한 변수
"$text_box_name": "serverform_search_text_box",
// 오버라이드 가능한 변수
"$text_edit_box_content_binding_name": "#serverform_search_text_box_item_name",
// 오버라이드 가능한 변수
"$text_edit_text_control": "serverform_search_text_box_display_text",
// 오버라이드 가능한 변수
"$place_holder_control": "rainbowpieui_server_form.search_box_place_holder_control",
// 오버라이드 가능한 변수
"$place_holder_text": "controller.buttonTip.enterSearch",
// 끝에서 다시 처음으로 순환
"focus_wrap_enabled": false,
// ?? ?? ?
"max_length": 32767,
// 겹치는 순서(숫자 클수록 위)
"layer": 12,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_localui_backup_screen",
// 오버라이드 가능한 변수
"$text_edit_text_control": "serverform_search_text_box_display_text2"
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"search_button@rainbowpieui_server_form.search_button_toggle_base": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.0,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1000,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "show_search_box",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_search_box",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_search_box",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"long_form_scrolling_panel@common.scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$show_background": false,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$scrolling_content": "rainbowpieui_server_form.long_form_scrolling_content",
// 오버라이드 가능한 변수
"$scroll_size": [ 3, "100% - 4px" ],
// 오버라이드 가능한 변수
"$scrolling_pane_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$scrolling_pane_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 2, 0 ],
// 보이기/숨기기(공간 유지)
"visible": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "vanilla_serverform",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#is_vanilla_serverform_ui_opened"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not #is_vanilla_serverform_ui_opened)",
// 결과가 들어갈 속성
"target_property_name": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_backup_screen)"
}
]
},
// ???/?? ??
"long_form_scrolling_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100% - 4px", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"label_offset_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 4px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"label_offset_text@rainbowpie_ui_common.editable_label": {
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"text_box_name": "label_offset_text",
"text_control": "label_offset_display_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"label_offset_display_text@rainbowpie_ui_common.text_label_notheme": {
// ?? (R,G,B,A)
"color": "$main_header_text_color",
// 기준점에서 이동하는 거리
"offset": [ 2, 2 ],
// 가로/세로 크기
"size": [ "100% - 4px", "default" ],
// 보여줄 글자
"text": "#form_text"
}
}
]
}
}
]
}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 4 ]
}
},
{
// ???/?? ??
"wrapping_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"long_form_dynamic_buttons_panel@rainbowpieui_server_form.long_form_dynamic_buttons_panel": {}
}
]
}
}
]
},
// ???/?? ??
"long_form_dynamic_buttons_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100% - 4px", "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 목록 아이템을 자동으로 생성
"factory":{
"name": "buttons",
// ??? ???
"control_name": "rainbowpieui_server_form.form_button"
},
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#form_button_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}
]
},
// ???/?? ??
"form_button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": [ "100%", 32 ],
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_server_form.form_button_content",
// 오버라이드 가능한 변수
"$text_edit_text_control": "serverform_search_text_box_display_text",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_localui_backup_screen",
// 오버라이드 가능한 변수
"$text_edit_text_control": "serverform_search_text_box_display_text2"
}
],
// 보이기/숨기기(공간 유지)
"visible": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons",
// 가져올 값 이름
"binding_name": "#form_button_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #hover_text - '\n' - '§0' - '§1' - '§2' - '§3' - '§4' - '§5' - '§6' - '§7' - '§8' - '§9' - '§a' - '§b' - '§c' - '§d' - '§e' - '§f' - '§g' - '§h' - '§i' - '§j' - '§k' - '§l' - '§m' - '§n' - '§o' - '§p' - '§q' - '§r' - '§s' - '§t' - '§u' - '§v' - '§w' - '§x' - '§y' - '§z' + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#formatted_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$text_edit_text_control",
// 계산식/참조 값
"source_property_name": "#item_name",
// 결과가 들어갈 속성
"target_property_name": "#query_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#query_text = '') or (not ((#formatted_text - #query_text) = #formatted_text)))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
},
// ???/?? ??
"form_button_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"panel_name": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 34, 34 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "image",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "(not (#texture = ''))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"image": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 가로/세로 크기
"size": [ 30, 30 ],
// 게임 값과 연결하는 규칙 목록
"bindings":[
{
// 가져올 값 이름
"binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#form_button_texture_file_system",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#texture = '') or (#texture = 'loading')))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"progress@progress.progress_loading_bars": {
// 가로/세로 크기
"size": [ 30, 4 ],
// 기준점에서 이동하는 거리
"offset": [ -2, 16 ],
// 게임 값과 연결하는 규칙 목록
"bindings":[
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "image",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "(#texture = 'loading')",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
},
{
// ???/?? ??
"button_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 68px", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button_text@rainbowpie_ui_common.text_label_notheme": {
// 보여줄 글자
"text": "#form_button_text",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_button_text_color",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "default", "default" ],
// ?? ??
"text_alignment": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons",
// 가져올 값 이름
"binding_name": "#form_button_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#form_button_text"
}
]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: settings_common_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_settings_common",
// ???/?? ??
"driven": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", 1 ],
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_driven_color",
// ???
"alpha": "$rainbowpie_ui_theme_driven_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"pack_warning_panel_destroy": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 0,
"destroy_at_end": "pack_warning",
"play_event": "rainbowpie.close_pack_warning"
},
// ???/?? ??
"rainbowpie_pack_warning_dialog_alert_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content_panel@rainbowpie_ui_dialog.content_background": {
// 가로/세로 크기
"size": [ "100%", "fill" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"text_default@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 4px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_content_color",
// 보여줄 글자
"text": "rainbowpie.ui.warning.text.default",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "#selected_pack_items_global",
// 가져올 값 이름
"binding_name": "#has_errors",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 목록 이름
"binding_collection_name": "#selected_pack_items_global",
// 가져올 값 이름
"binding_name": "#has_warnings",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not #has_warnings) and (not #has_errors))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"text_error@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 4px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_content_color",
// 보여줄 글자
"text": "rainbowpie.ui.warning.text.error",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "#selected_pack_items_global",
// 가져올 값 이름
"binding_name": "#has_errors",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 목록 이름
"binding_collection_name": "#selected_pack_items_global",
// 가져올 값 이름
"binding_name": "#has_warnings",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#has_errors",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"text_warning@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 4px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_content_color",
// 보여줄 글자
"text": "rainbowpie.ui.warning.text.warning",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "#selected_pack_items_global",
// 가져올 값 이름
"binding_name": "#has_errors",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 목록 이름
"binding_collection_name": "#selected_pack_items_global",
// 가져올 값 이름
"binding_name": "#has_warnings",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#has_warnings",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
},
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 1px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "100% + 1px", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"deactivate_input_panel": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 가로/세로 크기
"size": [ "50%", "23px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
"consume_hover_events": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "#selected_pack_items_global",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
}
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.move_left_global",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.move_left_global",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false
}
]
}
},
{
// ???/?? ??
"exit_settings_input_panel": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 가로/세로 크기
"size": [ "50%", "23px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 7,
"consume_hover_events": false,
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_exit",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_exit",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"check_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$focus_id": "check_button",
// 오버라이드 가능한 변수
"$focus_override_down": "deactivate_button",
// 오버라이드 가능한 변수
"$focus_override_up": "deactivate_button",
// 오버라이드 가능한 변수
"$focus_override_left": "deactivate_button",
// 오버라이드 가능한 변수
"$focus_override_right": "deactivate_button",
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.report_errors_global",
// 오버라이드 가능한 변수
"$button_text": "rainbowpie.ui.warning.button.check",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 가로/세로 크기
"size": [ "50%", 23 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "#selected_pack_items_global",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"deactivate_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$focus_id": "deactivate_button",
// 오버라이드 가능한 변수
"$focus_override_down": "check_button",
// 오버라이드 가능한 변수
"$focus_override_up": "check_button",
// 오버라이드 가능한 변수
"$focus_override_left": "check_button",
// 오버라이드 가능한 변수
"$focus_override_right": "check_button",
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$pressed_button_name": "ranbowpie.move_left_global",
// 오버라이드 가능한 변수
"$button_text": "rainbowpie.ui.warning.button.deactivate",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 가로/세로 크기
"size": [ "50%", 23 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 5
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"pack_warning_dialog_alert_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content_panel@rainbowpie_ui_dialog.content_background": {
// 가로/세로 크기
"size": [ "100%", "fill" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"pack_info_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 가로/세로 크기
"size": [ "100%", 30 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"pack_icon": {
// 이미지 표시
"type": "image",
"allow_debug_missing_texture": false,
"force_texture_reload": true,
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "#selected_pack_items_global",
// 가져올 값 이름
"binding_name": "#icon_path",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 목록 이름
"binding_collection_name": "#selected_pack_items_global",
// 가져올 값 이름
"binding_name": "#icon_zip",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#zip_folder",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 목록 이름
"binding_collection_name": "#selected_pack_items_global",
// 가져올 값 이름
"binding_name": "#icon_file_system",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pack_name@rainbowpie_ui_common.text_label": {
// 글자 표시
"type": "label",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "default", 15 ],
"max_size": [ "100% - 54px", 15 ],
// 기준점에서 이동하는 거리
"offset": [ 38, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 보여줄 글자
"text": "#pack_name",
// ?? ?? ??
"font_scale_factor": 1.5,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "#selected_pack_items_global",
// 가져올 값 이름
"binding_name": "#name",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(((#name - '[PML]') - '[HOTFIX]') - '[UITheme]')",
// 결과가 들어갈 속성
"target_property_name": "#pack_name"
}
]
}
},
{
// ???/?? ??
"error_text_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%cm", "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ -8, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"error_text": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"glyph_image_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "50%y", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"glyph_image": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 1 ],
// 사용할 이미지 경로
"texture": "textures/ui/ErrorGlyph"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"padding_0@common.empty_panel": {
// 가로/세로 크기
"size": [ 1, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"error_number@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "default", "100%" ],
// "font_type": "MinecraftTen",
// "font_scale_factor": 0.8,
"text": "#num_errors",
// ?? (R,G,B,A)
"color": "$error_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#num_errors",
// 목록 이름
"binding_collection_name": "#selected_pack_items_global",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "#selected_pack_items_global",
// 가져올 값 이름
"binding_name": "#has_errors",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
}
},
{
// ???/?? ??
"warning_text": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"glyph_image_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "50%y", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"glyph_image": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 1 ],
// 사용할 이미지 경로
"texture": "textures/ui/WarningGlyph"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"padding_0@common.empty_panel": {
// 가로/세로 크기
"size": [ 1, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"warning_number@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "default", "100%" ],
// 보여줄 글자
"text": "#num_warnings",
// ?? (R,G,B,A)
"color": "$warning_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#num_warnings",
// 목록 이름
"binding_collection_name": "#selected_pack_items_global",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "#selected_pack_items_global",
// 가져올 값 이름
"binding_name": "#has_warnings",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"content_text@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 34px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 32 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_content_color",
// 보여줄 글자
"text": "rainbowpie.ui.warning.3rdparty.text"
}
}
]
}
},
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 1px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "100% + 1px", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"deactivate_input_panel": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 가로/세로 크기
"size": [ "50%", "23px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
"consume_hover_events": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "#selected_pack_items_global",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
}
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.move_left_global",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.move_left_global",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false
}
]
}
},
{
// ???/?? ??
"exit_settings_input_panel": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 가로/세로 크기
"size": [ "50%", "23px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 7,
"consume_hover_events": false,
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_exit",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_exit",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"check_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$focus_id": "check_button",
// 오버라이드 가능한 변수
"$focus_override_down": "deactivate_button",
// 오버라이드 가능한 변수
"$focus_override_up": "deactivate_button",
// 오버라이드 가능한 변수
"$focus_override_left": "deactivate_button",
// 오버라이드 가능한 변수
"$focus_override_right": "deactivate_button",
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.report_errors_global",
// 오버라이드 가능한 변수
"$button_text": "rainbowpie.ui.warning.button.check",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 가로/세로 크기
"size": [ "50%", 23 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "#selected_pack_items_global",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"deactivate_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$focus_id": "deactivate_button",
// 오버라이드 가능한 변수
"$focus_override_down": "check_button",
// 오버라이드 가능한 변수
"$focus_override_up": "check_button",
// 오버라이드 가능한 변수
"$focus_override_left": "check_button",
// 오버라이드 가능한 변수
"$focus_override_right": "check_button",
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$pressed_button_name": "ranbowpie.move_left_global",
// 오버라이드 가능한 변수
"$button_text": "rainbowpie.ui.warning.button.deactivate",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 가로/세로 크기
"size": [ "50%", 23 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 5
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"pack_warning_status_check": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 보이기/숨기기(공간 유지)
"visible": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"modal_input@common.input_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 100,
// 보이기/숨기기(공간 유지)
"visible": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_pack_warning_dialog_panel@rainbowpie_ui_dialog.dialog_panel": {
// 가로/세로 크기
"size": [ 204, 132 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 100,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "$mintui_pack_name",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_settings_common.rainbowpie_pack_warning_dialog_alert_content",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_show_background": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_show_close": true,
// 오버라이드 가능한 변수
"$close_button_to_button_id": "rainbowpie.close_pack_warning",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#name",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "#selected_pack_items_global"
},
{
// 가져올 값 이름
"binding_name": "#description",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "#selected_pack_items_global"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#name = $mintui_pack_name) and (#description = $mintui_pack_description))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pack_warning_dialog_panel@rainbowpie_ui_dialog.dialog_panel": {
// 가로/세로 크기
"size": [ 204, 132 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 100,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "rainbowpie.ui.warning.3rdparty.title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_settings_common.pack_warning_dialog_alert_content",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_show_background": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_show_close": true,
// 오버라이드 가능한 변수
"$close_button_to_button_id": "rainbowpie.close_pack_warning",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#name",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "#selected_pack_items_global"
},
{
// 가져올 값 이름
"binding_name": "#description",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "#selected_pack_items_global"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#name = $mintui_pack_name) and (#description = $mintui_pack_description)))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background2@rainbowpie_popup_dialog.background_panel_design2": {}
}
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_secondary_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_secondary_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_ok",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "rainbowpie.close_pack_warning",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_up",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_up",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_down",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_down",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_left",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_left",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_right",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_right",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
}
]
}
}
],
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#pack_warning_visible": true
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#name",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "#selected_pack_items_global"
},
{
// 가져올 값 이름
"binding_name": "#description",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "#selected_pack_items_global"
},
{
// 목록 이름
"binding_collection_name": "#selected_pack_items_global",
// 가져올 값 이름
"binding_name": "#has_errors",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 목록 이름
"binding_collection_name": "#selected_pack_items_global",
// 가져올 값 이름
"binding_name": "#has_warnings",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#has_warnings or #has_errors)",
// 결과가 들어갈 속성
"target_property_name": "#pack_warning_visible",
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_debug_errcheck_debug"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#name = $mintui_pack_name) and (#description = $mintui_pack_description))",
// 결과가 들어갈 속성
"target_property_name": "#is_rainbowpie_pack"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#is_rainbowpie_pack and #pack_warning_visible) or (not #is_rainbowpie_pack and #has_errors))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"settings_overlay_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"pack_warning": {
// 보이기/숨기기(공간 유지)
"visible": "($is_packs_enabled and $include_controls_and_settings_sections)",
// 완전히 제거(공간도 없음)
"ignored": "((not $is_pregame) or (not $rainbowpie_ui_flag_135972c6))",
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 애니메이션 목록
"anims": [
"@rainbowpieui_settings_common.pack_warning_panel_destroy"
],
// 목록 이름
"collection_name": "#selected_pack_items_global",
// 목록 아이템을 자동으로 생성
"factory": {
"name": "selected_pack_factory",
// ??? ???
"control_name": "rainbowpieui_settings_common.pack_warning_status_check"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#selected_grid_dimensions_global",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
},
{
// 가져올 값 이름
"binding_name": "#selected_pack_items_global"
}
]
}
}
]
},
// ???/?? ??
"settings_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_feature_markbest",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_sliderbar_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_editbox_enabled": true
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"header@rainbowpie_ui_common.screen_header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_ingame_anim1": "($rainbowpie_ui_flag_8dcce82d and $rainbowpie_ui_flag_fbadd01f and $is_pregame)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_title": "#dialog_title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_title_bindings": [
{
// 가져올 값 이름
"binding_name": "#dialog_title"
}
],
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_content_panel": "rainbowpieui_settings_common.header_controls_panel"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"blur_layer@mintui_background.background_blur": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_3e35fb2e",
// 오버라이드 가능한 변수
"$background_offset": [ "-62%", 20 ],
// 오버라이드 가능한 변수
"$background_children_offset": [ "62%", -20 ],
// 오버라이드 가능한 변수
"$background_layer": -3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"mask_layer@mintui_background.background_mask": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_3e35fb2e",
// 오버라이드 가능한 변수
"$background_offset": [ "-62%", 20 ],
// 오버라이드 가능한 변수
"$background_children_offset": [ "62%", -20 ],
// 오버라이드 가능한 변수
"$background_layer": -3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background_blur@mintui_background.background_blur_fullscreen": {
// 완전히 제거(공간도 없음)
"ignored": "((not $is_pregame) or (not $rainbowpie_ui_flag_3e35fb2e))",
// 오버라이드 가능한 변수
"$background_mask": false,
// 겹치는 순서(숫자 클수록 위)
"layer": -3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_content@rainbowpie_ui_common.screen_content": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_ingame_anim1": "($rainbowpie_ui_flag_8dcce82d and $rainbowpie_ui_flag_fbadd01f and $is_pregame)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"selector_background@rainbowpie_ui_common.text_background": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_71042f58",
// 보이기/숨기기(공간 유지)
"visible": "((not $is_pregame) or (not $rainbowpie_ui_feature_background_blur))",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 가로/세로 크기
"size": [ "38%", "100% - 20px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"content_background@rainbowpie_ui_common.global_background": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 가로/세로 크기
"size": [ "62%", "100% - 20px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ???
"alpha": "$rainbowpie_localui_this_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_alpha": "$rainbowpie_ui_theme_global_background_alpha",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$is_pregame",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_alpha": 0.5
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"selector_area@settings_common.selector_area": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"content_area@settings_common.content_area": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true
}
}
]
}
}
]
},
// ???/?? ??
"header_controls_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$rainbowpie_localui_settings_header_extra_controls|default": "common.empty_panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"section_title_label@rainbowpieui_settings_common.section_title_label": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"copy_and_delete_button@rainbowpieui_settings_common.copy_and_delete_button": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
},
// ???/?? ??
"icon_delete": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 16, 16 ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/settings/world_edit/delete')",
// ?? (R,G,B,A)
"color": "$text_color"
},
// ???/?? ??
"icon_copy": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 12, 12 ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/settings/world_edit/copy')",
// ?? (R,G,B,A)
"color": "$text_color"
},
// ???/?? ??
"copy_and_delete_button": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 보이기/숨기기(공간 유지)
"visible": "$is_world_edit",
// 완전히 제거(공간도 없음)
"ignored": "$include_controls_and_settings_sections",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"copy_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "copy_world_button",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_settings_common.icon_copy",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"delete_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "delete_world_button",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_settings_common.icon_delete",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"section_title_label@rainbowpie_ui_common.text_label_notheme": {
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "62%", "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_topbar_text_color",
// 보여줄 글자
"text": "#section_title",
// ?? ??
"text_alignment": "center",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#section_title"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_option_toggle_state_template@settings_common.option_toggle_state_template": {
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_size|default": [ 30, 16 ],
// 가로/세로 크기
"size": "$rainbowpie_localui_toggle_size",
// 기준점(어디에서 시작할지)
"anchor_from": "$rainbowpie_localui_toggle_anchor",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$rainbowpie_localui_toggle_anchor",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_color": [],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_alpha": 1.0,
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_anchor|default": "left_middle",
// 오버라이드 가능한 변수
"$rainbowpie_localui_state_text|default": "OFF",
// 오버라이드 가능한 변수
"$rainbowpie_localui_state_text_on|default": "ON",
// 오버라이드 가능한 변수
"$rainbowpie_localui_state_color|default": [ 1.0, 0.333, 0.333 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_state": false,
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_button_color",
// ???
"alpha": "$rainbowpie_localui_button_alpha",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"state_text@rainbowpie_ui_common.text_label_notheme": {
// 보여줄 글자
"text": "$rainbowpie_localui_state_text",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_state_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_localui_toggle_state",
// 오버라이드 가능한 변수
"$rainbowpie_localui_state_text": "$rainbowpie_localui_state_text_on",
// 오버라이드 가능한 변수
"$rainbowpie_localui_state_color": [ 0.333, 1.0, 0.333 ]
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_option_toggle_on@rainbowpieui_settings_common.rainbowpie_ui_option_toggle_state_template": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_state": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_color": "$rainbowpie_ui_theme_button_background_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_alpha": "$rainbowpie_ui_theme_button_background_default_alpha"
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_option_toggle_off@rainbowpieui_settings_common.rainbowpie_ui_option_toggle_state_template": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_color": "$rainbowpie_ui_theme_button_background_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_alpha": "$rainbowpie_ui_theme_button_background_default_alpha"
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_option_toggle_on_hover@rainbowpieui_settings_common.rainbowpie_ui_option_toggle_state_template": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_state": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_color": "$rainbowpie_ui_theme_button_background_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_alpha": "$rainbowpie_ui_theme_button_background_hover_alpha"
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_option_toggle_off_hover@rainbowpieui_settings_common.rainbowpie_ui_option_toggle_state_template": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_color": "$rainbowpie_ui_theme_button_background_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_alpha": "$rainbowpie_ui_theme_button_background_hover_alpha"
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_option_toggle_on_locked@rainbowpieui_settings_common.rainbowpie_ui_option_toggle_state_template": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_state": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_color": "$rainbowpie_ui_theme_button_background_locked_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_alpha": "$rainbowpie_ui_theme_button_background_locked_alpha"
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_option_toggle_off_locked@rainbowpieui_settings_common.rainbowpie_ui_option_toggle_state_template": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_color": "$rainbowpie_ui_theme_button_background_locked_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_alpha": "$rainbowpie_ui_theme_button_background_locked_alpha"
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_toggle_unchecked@rainbowpieui_settings_common.rainbowpie_ui_toggle_button": {
// Rainbow Pie UI Variables
"$rainbowpie_localui_button_text_default_color|default": "$rainbowpie_ui_theme_toggle_text_default_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_hover_color|default": "$rainbowpie_ui_theme_toggle_text_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_pressed_color|default": "$rainbowpie_ui_theme_toggle_text_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_default_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_alpha",
// Button State
"$default_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_toggle_checked@rainbowpieui_settings_common.rainbowpie_ui_toggle_button": {
// Rainbow Pie UI Variables
"$rainbowpie_localui_button_text_default_color|default": "$rainbowpie_ui_theme_toggle_text_checked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_hover_color|default": "$rainbowpie_ui_theme_toggle_text_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_pressed_color|default": "$rainbowpie_ui_theme_toggle_text_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_color|default": "$rainbowpie_ui_theme_toggle_background_checked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_color|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_default_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_btbar_alpha",
// Button State
"$default_state": true,
// 오버라이드 가능한 변수
"$check_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_toggle_unchecked_hover@rainbowpieui_settings_common.rainbowpie_ui_toggle_button": {
// Rainbow Pie UI Variables
"$rainbowpie_localui_button_text_default_color|default": "$rainbowpie_ui_theme_toggle_text_default_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_hover_color|default": "$rainbowpie_ui_theme_toggle_text_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_pressed_color|default": "$rainbowpie_ui_theme_toggle_text_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_default_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_alpha",
// Button State
"$hover_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_toggle_checked_hover@rainbowpieui_settings_common.rainbowpie_ui_toggle_button": {
// Rainbow Pie UI Variables
"$rainbowpie_localui_button_text_default_color|default": "$rainbowpie_ui_theme_toggle_text_checked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_hover_color|default": "$rainbowpie_ui_theme_toggle_text_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_pressed_color|default": "$rainbowpie_ui_theme_toggle_text_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_color|default": "$rainbowpie_ui_theme_toggle_background_checked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_color|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_default_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_btbar_alpha",
// Button State
"$hover_state": true,
// 오버라이드 가능한 변수
"$check_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_toggle_unchecked_locked@rainbowpieui_settings_common.rainbowpie_ui_toggle_button": {
// Rainbow Pie UI Variables
"$rainbowpie_localui_button_text_color": "$rainbowpie_ui_theme_toggle_text_locked_checked_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_locked_color|default": "$rainbowpie_ui_theme_toggle_background_locked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_locked_alpha|default": "$rainbowpie_ui_theme_toggle_background_locked_default_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_alpha",
// Button State
"$locked_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_toggle_checked_locked@rainbowpieui_settings_common.rainbowpie_ui_toggle_button": {
// Rainbow Pie UI Variables
"$rainbowpie_localui_button_text_color": "$rainbowpie_ui_theme_toggle_text_locked_checked_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_locked_color|default": "$rainbowpie_ui_theme_toggle_background_locked_checked_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_color|default": "$rainbowpie_ui_theme_toggle_background_locked_checked_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_locked_alpha|default": "$rainbowpie_ui_theme_toggle_background_locked_checked_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_alpha|default": "$rainbowpie_ui_theme_toggle_background_locked_checked_btbar_alpha",
// Button State
"$locked_state": true,
// 오버라이드 가능한 변수
"$check_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_toggle_button@rainbowpie_ui_button.rainbowpie_ui_button_default": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_color|default": [],
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_alpha|default": 1.0,
// 오버라이드 가능한 변수
"$check_state|default": false,
// 오버라이드 가능한 변수
"$button_image_size|default": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_controls": [
{
// ???/?? ??
"button_glint": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$button_image_size",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_99d9851a)",
// 보이기/숨기기(공간 유지)
"visible": "$button_image_visible",
// 겹치는 순서(숫자 클수록 위)
"layer": "$rainbowpie_localui_button_hover_border_layer",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hover@rainbowpie_ui_button.glint_border_base": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_glint_size": [ 72, 72 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_glint_alpha": 0.25,
// 완전히 제거(공간도 없음)
"ignored": "(not $hover_state)",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": "($rainbowpie_localui_button_hover_border_layer - ($rainbowpie_localui_button_hover_border_layer * 2))"
}
}
]
}
},
{
// ???/?? ??
"button_background": {
// 이미지 표시
"type": "image",
// 완전히 제거(공간도 없음)
"ignored": "(not $button_image_visible)",
// 가로/세로 크기
"size": "$button_image_size",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_button_color",
// ???
"alpha": "$rainbowpie_localui_button_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"left_image": {
// 이미지 표시
"type": "image",
// 보이기/숨기기(공간 유지)
"visible": "$check_state",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ 2, "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_toggle_btbar_color",
// ???
"alpha": "$rainbowpie_localui_toggle_btbar_alpha"
}
},
{
// ???/?? ??
"button_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$button_content_size|default": [ "100% - 6px", "100% - 6px" ],
// 가로/세로 크기
"size": "$button_content_size",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"$button_type_panel@$button_type_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_dropdown_radio_visuals_unchecked@rainbowpieui_settings_common.rainbowpie_ui_dropdown_radio_visuals": {
// Rainbow Pie UI Variables
"$rainbowpie_localui_button_text_default_color|default": "$rainbowpie_ui_theme_toggle_text_default_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_hover_color|default": "$rainbowpie_ui_theme_toggle_text_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_pressed_color|default": "$rainbowpie_ui_theme_toggle_text_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_default_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_alpha",
// Button State
"$default_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_dropdown_radio_visuals_checked@rainbowpieui_settings_common.rainbowpie_ui_dropdown_radio_visuals": {
// Rainbow Pie UI Variables
"$rainbowpie_localui_button_text_default_color|default": "$rainbowpie_ui_theme_toggle_text_checked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_hover_color|default": "$rainbowpie_ui_theme_toggle_text_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_pressed_color|default": "$rainbowpie_ui_theme_toggle_text_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_color|default": "$rainbowpie_ui_theme_toggle_background_checked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_color|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_default_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_btbar_alpha",
// Button State
"$default_state": true,
// 오버라이드 가능한 변수
"$check_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_dropdown_radio_visuals_unchecked_hover@rainbowpieui_settings_common.rainbowpie_ui_dropdown_radio_visuals": {
// Rainbow Pie UI Variables
"$rainbowpie_localui_button_text_default_color|default": "$rainbowpie_ui_theme_toggle_text_default_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_hover_color|default": "$rainbowpie_ui_theme_toggle_text_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_pressed_color|default": "$rainbowpie_ui_theme_toggle_text_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_default_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_alpha",
// Button State
"$hover_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_dropdown_radio_visuals_checked_hover@rainbowpieui_settings_common.rainbowpie_ui_dropdown_radio_visuals": {
// Rainbow Pie UI Variables
"$rainbowpie_localui_button_text_default_color|default": "$rainbowpie_ui_theme_toggle_text_checked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_hover_color|default": "$rainbowpie_ui_theme_toggle_text_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_pressed_color|default": "$rainbowpie_ui_theme_toggle_text_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_color|default": "$rainbowpie_ui_theme_toggle_background_checked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_color|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_default_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_btbar_alpha",
// Button State
"$hover_state": true,
// 오버라이드 가능한 변수
"$check_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_dropdown_radio_visuals_unchecked_locked@rainbowpieui_settings_common.rainbowpie_ui_dropdown_radio_visuals": {
// Rainbow Pie UI Variables
"$rainbowpie_localui_button_text_color": "$rainbowpie_ui_theme_toggle_text_locked_checked_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_locked_color|default": "$rainbowpie_ui_theme_toggle_background_locked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_locked_alpha|default": "$rainbowpie_ui_theme_toggle_background_locked_default_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_alpha",
// Button State
"$locked_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_dropdown_radio_visuals_checked_locked@rainbowpieui_settings_common.rainbowpie_ui_dropdown_radio_visuals": {
// Rainbow Pie UI Variables
"$rainbowpie_localui_button_text_color": "$rainbowpie_ui_theme_toggle_text_locked_checked_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_locked_color|default": "$rainbowpie_ui_theme_toggle_background_locked_checked_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_color|default": "$rainbowpie_ui_theme_toggle_background_locked_checked_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_locked_alpha|default": "$rainbowpie_ui_theme_toggle_background_locked_checked_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_alpha|default": "$rainbowpie_ui_theme_toggle_background_locked_checked_btbar_alpha",
// Button State
"$locked_state": true,
// 오버라이드 가능한 변수
"$check_state": true
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_dropdown_radio_visuals@rainbowpie_ui_button.rainbowpie_ui_button_default": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_color|default": [],
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_btbar_alpha|default": 1.0,
// 오버라이드 가능한 변수
"$check_state|default": false,
// 오버라이드 가능한 변수
"$hover_state|default": false,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_radio_image|default": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_radio_image_texture|default": "",
// 오버라이드 가능한 변수
"$radio_label_bindings|default": [],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_controls": [
{
// ???/?? ??
"button_glint": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$button_image_size",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_99d9851a)",
// 보이기/숨기기(공간 유지)
"visible": "$button_image_visible",
// 겹치는 순서(숫자 클수록 위)
"layer": "$rainbowpie_localui_button_hover_border_layer",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hover@rainbowpie_ui_button.glint_border_base": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_glint_size": [ 72, 72 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_glint_alpha": 0.25,
// 완전히 제거(공간도 없음)
"ignored": "(not $hover_state)",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": "($rainbowpie_localui_button_hover_border_layer - ($rainbowpie_localui_button_hover_border_layer * 2))"
}
}
]
}
},
{
// ???/?? ??
"button_background": {
// 이미지 표시
"type": "image",
// 완전히 제거(공간도 없음)
"ignored": "(not $button_image_visible)",
// 가로/세로 크기
"size": "$button_image_size",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_button_color",
// ???
"alpha": "$rainbowpie_localui_button_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"bottom_image": {
// 이미지 표시
"type": "image",
// 보이기/숨기기(공간 유지)
"visible": "($check_state or ($hover_state and $game_pad))",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ "100%", 2 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_toggle_btbar_color",
// ???
"alpha": "$rainbowpie_localui_toggle_btbar_alpha"
}
},
{
// ???/?? ??
"button_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$button_content_size|default": [ "100% - 6px", "100% - 6px" ],
// 가로/세로 크기
"size": "$button_content_size",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"icon_image": {
// 보이기/숨기기(공간 유지)
"visible": "$rainbowpie_localui_dropdown_radio_image",
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_button_text_color",
// 사용할 이미지 경로
"texture": "$rainbowpie_localui_dropdown_radio_image_texture",
// 가로/세로 크기
"size": [ 16, 16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"radio_label@rainbowpie_ui_common.text_label_notheme": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_dropdown_radio_image",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// ?? ??
"text_alignment": "center",
// 보여줄 글자
"text": "$radio_label_text",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_button_text_color",
// 가로/세로 크기
"size": [ "100%", "default" ],
// 게임 값과 연결하는 규칙 목록
"bindings": "$radio_label_bindings",
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}
}
]
}
}
]
},
// ???/?? ??
"rainbowpie_ui_radio_with_label": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content_item_size|default": [ "fill", "default" ],
// 가로/세로 크기
"size": "$rainbowpie_localui_dropdown_content_item_size",
// 오버라이드 가능한 변수
"$enabled|default": true,
// 오버라이드 가능한 변수
"$toggle_state_binding_name|default": "none",
// 이 안에 들어가는 부품 목록
"controls": [
{ "rainbowpie_ui_radio_with_label_core@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label_core": {} }
]
},
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ui_radio_with_label_core@common.radio_toggle": {
// 오버라이드 가능한 변수
"$focus_override_down": "",
// 오버라이드 가능한 변수
"$focus_override_up": "",
// 오버라이드 가능한 변수
"$focus_override_left": "",
// 오버라이드 가능한 변수
"$focus_override_right": "",
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpieui_settings_common.rainbowpie_ui_dropdown_radio_visuals_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpieui_settings_common.rainbowpie_ui_dropdown_radio_visuals_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_dropdown_radio_visuals_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_dropdown_radio_visuals_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_dropdown_radio_visuals_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_dropdown_radio_visuals_unchecked_locked",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_dropdown_radio_visuals_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_dropdown_radio_visuals_checked_locked",
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name|default": "$toggle_state_binding_name",
// 오버라이드 가능한 변수
"$toggle_enabled_binding_name": "$option_enabled_binding_name",
// ??/???
"enabled": "$enabled",
// 오버라이드 가능한 변수
"$toggle_enabled_binding_type": "global",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "(not $option_enabled_binding_name or not $enabled)",
// 오버라이드 가능한 변수
"$toggle_enabled_binding_name": "#not_data_bound",
// 오버라이드 가능한 변수
"$toggle_enabled_binding_type": "none"
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: sign_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_sign",
// ???/?? ??
"sign_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_content@rainbowpie_ui_common.screen_content": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_ingame_anim1": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"sign_screen_content@sign.sign_screen_content": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_sign_edit_preview_enabled)"
}
},
{
// ???/?? ??
"sign_edit_preview_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_sign_edit_preview_enabled)",
// 이 안에 들어가는 부품 목록
"controls": [
{ "maximized_input_dialog@rainbowpieui_sign.maximized_input_dialog": {} },
{ "sign_preview_panel@rainbowpieui_sign.sign_preview_panel": {} },
{
// 다른 템플릿을 가져와서 확장(상속)
"exit_menu_input_panel@common.input_panel": {
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_exit",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"sign_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "$sign_texture",
// 가로/세로 크기
"size": [ 94.08, 45.57 ],
// 기준점에서 이동하는 거리
"offset": [ -0.49, -1.15 ]
},
// ???/?? ??
"hanging_sign_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "$sign_texture",
// 가로/세로 크기
"size": [ 146.37, 72.93 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -15.16 ]
},
// 다른 템플릿을 가져와서 확장(상속)
"regular_sign_text_multiline@sign.base_sign_text_multiline": {
// 가로/세로 크기
"size": [ 90.65, 44.1 ], // * 0.49
// 오버라이드 가능한 변수
"$text_background_default": "rainbowpieui_sign.sign_background",
// 오버라이드 가능한 변수
"$text_background_hover": "rainbowpieui_sign.sign_background"
},
// 다른 템플릿을 가져와서 확장(상속)
"hanging_sign_text_multiline@sign.base_sign_text_multiline": {
// 가로/세로 크기
"size": [ 64.26, 45.9 ], // * 0.51
// 오버라이드 가능한 변수
"$text_background_default": "rainbowpieui_sign.hanging_sign_background",
// 오버라이드 가능한 변수
"$text_background_hover": "rainbowpieui_sign.hanging_sign_background"
},
// ???/?? ??
"sign_preview_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 96, 48 ],
// 기준점에서 이동하는 거리
"offset": [ -78, 0 ],
// 오버라이드 가능한 변수
"$sign_preview_panel_control": "('rainbowpieui_' + $sign_text_multiline)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"text_edit@$sign_preview_panel_control": {
// 오버라이드 가능한 변수
"$font_size": "normal",
"selected": false,
// 포커스 가능 여부
"focus_enabled": false,
"consume_event": false
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"maximized_input_dialog@rainbowpie_ui_dialog.dialog_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_sign.maximized_input_dialog_content",
// 가로/세로 크기
"size": [ 160, 130 ],
// 기준점에서 이동하는 거리
"offset": [ 54, 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 110,
// 조건에 따라 변수 값을 바꾸기
"variables": [
// 我也不知道下面这段代码是如何运作的
{
// 이 조건이 맞으면 적용
"requires": "($sign_text_multiline = 'sign.regular_sign_text_multiline')",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "(('item.' + (($sign_texture - 'textures/ui/') - 'sign_' - '_sign') + '_sign.name') - 'sign_')"
},
{
// 이 조건이 맞으면 적용
"requires": "($sign_text_multiline = 'sign.hanging_sign_text_multiline')",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "((((('item.' + (($sign_texture - 'textures/ui/hanging_sign_') - 'darkoak') + '.___..dark_oak' + '__._oak_hanging_sign.name') - '..___.') - '.___..dark_oak') - 'textures/ui/hanging_sign__._') - '_._oak_')"
}
]
},
// ???/?? ??
"maximized_input_dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"sign_text_multiline@common.multiline_text_edit_box": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_editbox_enabled": true,
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
"selected": true,
"can_be_deselected": false,
// 오버라이드 가능한 변수
"$text_box_name": "#sign_text_multi",
// ?? ?? ?
"max_length": 32500,
// 오버라이드 가능한 변수
"$text_edit_box_content_binding_name": "#sign_text"
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: smithing_table_2_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_smithing_table_2",
// ???/?? ??
"smithing_preview_turn_back_anim": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "out_quart",
// 걸리는 시간(초)
"duration": 0.35,
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ "-50%x", 0 ],
"play_event": "rainbowpie.smithing_preview_turn_back"
},
// ???/?? ??
"smithing_preview_turn_front_anim": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "out_quart",
// 걸리는 시간(초)
"duration": 0.35,
// 시작 값
"from": [ "-50%x", 0 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "rainbowpie.smithing_preview_turn_front"
},
// ???/?? ??
"smithing_preview_reset_anim": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 0,
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ 0, 0 ]
},
// ???/?? ??
"turn_front_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/chevron_left",
// 가로/세로 크기
"size": [ "88.88888888888889%", "88.88888888888889%" ],
// ?? (R,G,B,A)
"color": "$text_color"
},
// ???/?? ??
"turn_back_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/chevron_right",
// 가로/세로 크기
"size": [ "88.88888888888889%", "88.88888888888889%" ],
// ?? (R,G,B,A)
"color": "$text_color"
},
// ???/?? ??
"result_item_preview": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// Base Size: 18x18
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"turn_front@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "rainbowpie.smithing_preview_turn_front",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_smithing_table_2.turn_front_icon",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "66.66666666666667%", "100%x" ], // 12x12
// 기준점에서 이동하는 거리
"offset": [ "-116.6666666666667%x", "16.66666666666667%y" ] //-14x2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"turn_back@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "rainbowpie.smithing_preview_turn_back",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_smithing_table_2.turn_back_icon",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "66.66666666666667%", "100%x" ], // 12x12
// 기준점에서 이동하는 거리
"offset": [ "150%y", "16.66666666666667%y" ]
}
},
{
// ???/?? ??
"preview_outer_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "166.6666666666667%", "200%x" ], // 30x60
// 기준점에서 이동하는 거리
"offset": [ "6.666666666666667%x", 0 ],
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"preview_outer_panel2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 가로/세로 크기
"size": [ "200%", "100%" ], // 30x60
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
"animation_reset_name": "rainbowpie.smithing_preview_turn_front",
// 애니메이션 목록
"anims": [
"@rainbowpieui_smithing_table_2.smithing_preview_reset_anim",
"@rainbowpieui_smithing_table_2.smithing_preview_turn_back_anim"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"debug01@rainbowpie_ui_common.debug_draw": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_debug_name": "outer_panel2"
}
},
{
// ???/?? ??
"preview_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
"animation_reset_name": "rainbowpie.smithing_preview_turn_back",
// 애니메이션 목록
"anims": [
"@rainbowpieui_smithing_table_2.smithing_preview_reset_anim",
"@rainbowpieui_smithing_table_2.smithing_preview_turn_front_anim"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"preview_front_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "50%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"debug01@rainbowpie_ui_common.debug_draw": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_debug_name": "front"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inner@rainbowpieui_smithing_table_2.result_item_preview_inner": {}
}
]
}
},
{
// ???/?? ??
"preview_back_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "50%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"debug01@rainbowpie_ui_common.debug_draw": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_debug_name": "back"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inner@rainbowpieui_smithing_table_2.result_item_preview_inner": {
// 오버라이드 가능한 변수
"$rotation_y": -140
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"result_item_preview_inner": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "83.33333333333333%", "100%x" ],
// 오버라이드 가능한 변수
"$rotation_y|default": -30,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"smithing_preview_renderer": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "equipment_preview_renderer",
"enable_scissor_test": true,
"animation_reset_name": "screen_animation_reset",
// 애니메이션 목록
"anims": [
"@common.screen_exit_size_animation_push",
"@common.screen_exit_size_animation_pop",
"@common.screen_entrance_size_animation_push",
"@common.screen_entrance_size_animation_pop"
],
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
"rotation_x": 30,
"rotation_y": "$rotation_y",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "smithing_table_result_items"
},
{
// 가져올 값 이름
"binding_name": "#item_custom_color",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "smithing_table_result_items"
},
{
// 가져올 값 이름
"binding_name": "#armor_trim_pattern",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "smithing_table_result_items"
},
{
// 가져올 값 이름
"binding_name": "#armor_trim_material",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "smithing_table_result_items"
}
]
}
}
]
},
// ???/?? ??
"smithing_table_item_slot": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item@rainbowpie_ui_inventory_and_container.container_item": {
// 가로/세로 크기
"size": [ "100%y", "33.33333333333333%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 오버라이드 가능한 변수
"$hover_text_max_width": 500
}
}
]
},
// ???/?? ??
"template_overlay_image": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"templates@smithing_table_2.smithing_input_image_templates": {
// 가로/세로 크기
"size": [ "100%y", "88.88888888888889%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#show_input_overlay_templates",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
},
// ???/?? ??
"input_overlay_image": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"armors_and_tools@smithing_table_2.smithing_input_image_armors_and_tools": {
// 가로/세로 크기
"size": [ "100%y", "88.88888888888889%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#show_input_overlay_armors_and_tools",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"armors@smithing_table_2.smithing_input_image_armors": {
// 가로/세로 크기
"size": [ "100%y", "88.88888888888889%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#show_input_overlay_armors",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
},
// ???/?? ??
"material_overlay_image": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"all_materials@smithing_table_2.smithing_material_image_all": {
// 가로/세로 크기
"size": [ "100%y", "88.88888888888889%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#show_material_overlay_all",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"ingot@smithing_table_2.smithing_material_image_ingot": {
// 가로/세로 크기
"size": [ "100%y", "88.88888888888889%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#show_material_overlay_ingot",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"smithing_table_root_panel@common.root_panel": {
// 가로/세로 크기
"size": [ 168, 161 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "inventory_selected_icon_button@common.inventory_selected_icon_button": {} },
{ "gamepad_cursor@common.gamepad_cursor_button": {} },
{ "inventory_take_progress_icon_button@common.inventory_take_progress_icon_button": {} },
{
// ???/?? ??
"inventory_ui_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 애니메이션 목록
"anims": [
"@rainbowpie_ui_animations.container_panel_exit_animation_push",
"@rainbowpie_ui_animations.container_panel_exit_animation_pop",
"@rainbowpie_ui_animations.container_panel_entrance_animation_push",
"@rainbowpie_ui_animations.container_panel_entrance_animation_pop"
],
"animation_reset_name": "screen_animation_reset",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"smithingtable2_background_icon@rainbowpie_ui_inventory.background_icon": {
// 가로/세로 크기
"size": "$rainbowpie_ui_theme_inventory_bgicon_smithingtable2_size",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_ui_theme_inventory_bgicon_smithingtable2_offset",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$rainbowpie_ui_theme_inventory_bgicon_smithingtable2_anchor",
// 기준점(어디에서 시작할지)
"anchor_from": "$rainbowpie_ui_theme_inventory_bgicon_smithingtable2_anchor",
// 사용할 이미지 경로
"texture": "$rainbowpie_ui_theme_inventory_bgicon_smithingtable2_texture",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_bgicon_smithingtable2_alpha"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background_icon@rainbowpie_ui_inventory.background_icon": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 가로/세로 크기
"size": [ "100%", "14.28571428571429%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "container.smithing_table.upgrade",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border1_size": [ "2.380952380952381%", 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border2_size": [ "2.380952380952381%", 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"common_panel@common.common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 가로/세로 크기
"size": [ "100%", "100% - 14.28571428571429%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle"
}
},
{
// ???/?? ??
"top_half_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "33.54037267080745%" ], // 162x54
// 기준점에서 이동하는 거리
"offset": [ 0, "-50.31055900621118%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"recipe_grid": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 그리드 칸 수
"grid_dimensions": [ 9, 1 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"template_item_slot@rainbowpieui_smithing_table_2.smithing_table_item_slot": {
// 그리드 위치
"grid_position": [ 0, 0 ],
// 오버라이드 가능한 변수
"$item_collection_name": "smithing_table_template_items",
// 오버라이드 가능한 변수
"$cell_overlay_ref": "rainbowpieui_smithing_table_2.template_overlay_image",
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "smithing_table_template",
// 오버라이드 가능한 변수
"$focus_override_right_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_right": "smithing_table_input"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"input_item_slot@rainbowpieui_smithing_table_2.smithing_table_item_slot": {
// 그리드 위치
"grid_position": [ 1, 0 ],
// 오버라이드 가능한 변수
"$item_collection_name": "smithing_table_input_items",
// 오버라이드 가능한 변수
"$cell_overlay_ref": "rainbowpieui_smithing_table_2.input_overlay_image",
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "smithing_table_input",
// 오버라이드 가능한 변수
"$focus_override_right_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_right": "smithing_table_material",
// 오버라이드 가능한 변수
"$focus_override_left_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_left": "smithing_table_template"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"material_item_slot@rainbowpieui_smithing_table_2.smithing_table_item_slot": {
// 그리드 위치
"grid_position": [ 2, 0 ],
// 오버라이드 가능한 변수
"$item_collection_name": "smithing_table_material_items",
// 오버라이드 가능한 변수
"$cell_overlay_ref": "rainbowpieui_smithing_table_2.material_overlay_image",
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "smithing_table_material",
// 오버라이드 가능한 변수
"$focus_override_left_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_left": "smithing_table_input",
// 오버라이드 가능한 변수
"$focus_override_right_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_right": "smithing_table_result"
}
},
{
// ???/?? ??
"yields": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 그리드 위치
"grid_position": [ 3, 0 ],
// 가로/세로 크기
"size": [ "22.2%", "100%" ], // Center across two grid columns | 35.964x54
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"arrow_icon@smithing_table_2.arrow_icon": {
// 가로/세로 크기
"size": [ "150%y", "22.22222222222222%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"cross_out_icon@smithing_table_2.cross_out_icon_button": {
// 가로/세로 크기
"size": [ "150%y", "22.22222222222222%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"result_item_slot@rainbowpieui_smithing_table_2.smithing_table_item_slot": {
// 그리드 위치
"grid_position": [ 5, 0 ],
// 오버라이드 가능한 변수
"$item_collection_name": "smithing_table_result_items",
// 오버라이드 가능한 변수
"$button_ref": "smithing_table_2.smithing_table_output_slot_button",
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "smithing_table_result",
// 오버라이드 가능한 변수
"$focus_override_left_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_left": "smithing_table_material"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"result_item_preview@rainbowpieui_smithing_table_2.result_item_preview": {
// 그리드 위치
"grid_position": [ 7, 0 ]
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory@rainbowpie_ui_inventory_and_container.inventory_panel_bottom_half": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "33.54037267080745%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-14.90683229813665%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar@rainbowpie_ui_inventory_and_container.hotbar_grid_template": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "11.18012422360248%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-1.863354037267081%" ]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: start_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_start",
// ???/?? ??
"icon_maker_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 15, 15 ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/start/background')",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 8
},
// 다른 템플릿을 가져와서 확장(상속)
"icon_maker_toggle_base@common_toggles.light_ui_toggle": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_start.icon_maker_icon",
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpie_start_icon_maker",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 1001,
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 0,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": ""
},
// ???/?? ??
"friends_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/friendsbutton/navbar-friends-icon",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 가로/세로 크기
"size": [ 16, 16 ]
},
// 다른 템플릿을 가져와서 확장(상속)
"treatment_store_button_status_panel@rainbowpie_ui_button.rainbowpie_ui_button_default": {
// 오버라이드 가능한 변수
"$is_treatment_button|default": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_border_enabled|default": "(not $is_treatment_button)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_controls": [
{
// ???/?? ??
"button_background": {
// 이미지 표시
"type": "image",
// 완전히 제거(공간도 없음)
"ignored": "(not $button_image_visible)",
// 가로/세로 크기
"size": "$button_image_size",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_button_color",
// ???
"alpha": "$rainbowpie_localui_button_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"treatment_button_color_background": {
// 이미지 표시
"type": "image",
// 완전히 제거(공간도 없음)
"ignored": "(not $is_treatment_button)",
// 가로/세로 크기
"size": "$button_image_size",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$bg_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$default_state",
// 오버라이드 가능한 변수
"$bg_color": "$light_border_default_color"
},
{
// 이 조건이 맞으면 적용
"requires": "$hover_state",
// 오버라이드 가능한 변수
"$bg_color": "$light_border_hover_color"
},
{
// 이 조건이 맞으면 적용
"requires": "$pressed_state",
// 오버라이드 가능한 변수
"$bg_color": "$light_border_pressed_color"
},
{
// 이 조건이 맞으면 적용
"requires": "$locked_state",
// 오버라이드 가능한 변수
"$bg_color": "$light_border_locked_color"
}
]
}
},
{
// ???/?? ??
"treatment_button_background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "150px - 2px - 2px", "32px - 2px - 2px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 사용할 이미지 경로
"texture": "$button_texture",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 완전히 제거(공간도 없음)
"ignored": "(not $is_treatment_button)",
// 보이기/숨기기(공간 유지)
"visible": "(not (($button_texture = 'textures/ui/button_borderless_light') or ($button_texture = 'textures/ui/button_borderless_lighthover') or ($button_texture = 'textures/ui/button_borderless_lightpressed') or ($button_texture = 'textures/ui/disabledButtonNoBorder')))",
// 오버라이드 가능한 변수
"$button_texture": "",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$default_state",
// 오버라이드 가능한 변수
"$button_texture": "$default_button_texture"
},
{
// 이 조건이 맞으면 적용
"requires": "$hover_state",
// 오버라이드 가능한 변수
"$button_texture": "$hover_button_texture"
},
{
// 이 조건이 맞으면 적용
"requires": "$pressed_state",
// 오버라이드 가능한 변수
"$button_texture": "$pressed_button_texture"
},
{
// 이 조건이 맞으면 적용
"requires": "$locked_state",
// 오버라이드 가능한 변수
"$button_texture": "$locked_button_texture"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"button_desc@rainbowpie_ui_button.button_desc": {}
},
{
// ???/?? ??
"treatment_button_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "150px - 2px - 6px", "32px - 2px - 6px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 완전히 제거(공간도 없음)
"ignored": "(not $is_treatment_button)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_localui_button_offset",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content@$button_content": {
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}
}
]
}
}
]
}
},
{
// ???/?? ??
"button_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$button_content_size|default": [ "100% - 6px", "100% - 6px" ],
// 가로/세로 크기
"size": "$button_content_size",
// 겹치는 순서(숫자 클수록 위)
"layer": 12,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($is_treatment_button and $default_state)",
// 오버라이드 가능한 변수
"$text_color": "$default_text_color"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button_content@rainbowpieui_start.startv2_big_button_panel": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%y", "100% - 4px" ],
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 사용할 이미지 경로
"texture": "($icon_theme_dir + '/' + $icon_texture_name)",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 완전히 제거(공간도 없음)
"ignored": "$is_treatment_button"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"button_text@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "100% - 30px", "default" ],
// 기준점에서 이동하는 거리
"offset": [ 30, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 보여줄 글자
"text": "menu.store",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 12
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"inbox_icon": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{ "inbox_bell_animated_icon@start.inbox_bell_animated_icon": {} },
{ "inbox_button_unread_panel@start.inbox_button_unread_panel": {} }
]
},
// ???/?? ??
"more_option_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 15, 15 ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/start/more')",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 8
},
// 다른 템플릿을 가져와서 확장(상속)
"more_option_toggle_base@common_toggles.light_ui_toggle": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_start.more_option_icon",
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpie_start_more_option",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 1001,
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 0,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": ""
},
// ???/?? ??
"background_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 15, 15 ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/start/background')",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 8
},
// 다른 템플릿을 가져와서 확장(상속)
"background_dialog_toggle_base@common_toggles.light_ui_toggle": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_start.background_icon",
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpie_start_background_dialog",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 1001,
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 0,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": ""
},
// 다른 템플릿을 가져와서 확장(상속)
"modal_label_panel@common.scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scrolling_pane_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$scrolling_pane_offset": [ 2, 0 ],
// 오버라이드 가능한 변수
"$scroll_size": [ 5, "100% - 4px" ],
// 오버라이드 가능한 변수
"$show_background": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 오버라이드 가능한 변수
"$always_handle_scrolling": true
},
// ???/?? ??
"background_text_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100% - 4px", "100%c" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"name_text@rainbowpie_ui_common.text_label_notheme": {
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_content_color",
// 보여줄 글자
"text": "$rainbowpie_ui_theme_background_name",
// ?? ?? ??
"font_scale_factor": 1.2
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"description_text@rainbowpie_ui_common.text_label_notheme": {
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_content_color",
// 보여줄 글자
"text": "$rainbowpie_ui_theme_background_description"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background_path@rainbowpie_ui_common.text_label_notheme": {
// 완전히 제거(공간도 없음)
"ignored": "(not ($rainbowpieui_branch_type = 'dev'))",
// 보이기/숨기기(공간 유지)
"visible": false,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_content_color",
// 보여줄 글자
"text": "('\n' + $rainbowpie_ui_theme_background_texture + '\n' + $rainbowpie_ui_theme_background_blur_texture)"
}
}
]
},
// ???/?? ??
"background_dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content_panel@rainbowpie_ui_dialog.content_background": {
// 가로/세로 크기
"size": [ "100%", "fill" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"modal_label_panel@rainbowpieui_start.modal_label_panel": {
// 오버라이드 가능한 변수
"$scrolling_content": "rainbowpieui_start.background_text_panel"
}
}
]
}
},
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 1px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "100% + 1px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_dialog_button@rainbowpieui_start.background_dialog_toggle_base": {
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_start.button_text",
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$button_text": "gui.ok",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": "$rainbowpie_ui_theme_dialog_content_background_alpha",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 가로/세로 크기
"size": [ "100%", 23 ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1001,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "close_background_dialog",
// 겹치는 순서(숫자 클수록 위)
"layer": 2000,
// 오버라이드 가능한 변수
"$button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_ok",
// 입력 시점(pressed 등)
"mapping_type": "focused"
}
]
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"servers_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%y", "100% - 4px" ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/start/servers')",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 8
},
// ???/?? ??
"get_started_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%y", "100% - 4px" ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/start/quickplay')",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 8
},
// ???/?? ??
"close_button_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 30, 30 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/global/close_button/close')",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_button_text_color"
},
// ???/?? ??
"startv2_profile_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"online_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "28px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"gamerpic@start.gamerpic": {
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$gamerpic_visible": "#show_gamerpic"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"alex_icon@start.alex_icon": {
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #show_gamerpic)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"gamertag": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%cm + 8px", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button_text@rainbowpie_ui_common.text_label_notheme": {
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 보여줄 글자
"text": "#gamertag_label",
// ?? ?? ??
"font_scale_factor": 1.4,
// ?? (R,G,B,A)
"color": "$text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#gamertag_label"
},
{
// 가져올 값 이름
"binding_name": "(not #sign_in_visible)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"gamertag_label_offline@rainbowpie_ui_common.text_label_notheme": {
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 보여줄 글자
"text": "#playername",
// ?? ?? ??
"font_scale_factor": 1.4,
// ?? (R,G,B,A)
"color": "$text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#playername"
},
{
// 가져올 값 이름
"binding_name": "#sign_in_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"startv2_big_button_template@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_start.startv2_big_button_panel",
// 가로/세로 크기
"size": [ "100%", 32 ]
},
// ???/?? ??
"startv2_big_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$button_text|default": "Default Button Text",
// 오버라이드 가능한 변수
"$icon_theme_dir|default": "($rainbowpie_ui_path_theme + '/icon/start')",
// 오버라이드 가능한 변수
"$icon_texture_name|default": "null",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%y", "100% - 4px" ],
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 사용할 이미지 경로
"texture": "($icon_theme_dir + '/' + $icon_texture_name)",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 8
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"button_text@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "100% - 30px", "default" ],
// 기준점에서 이동하는 거리
"offset": [ 30, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 보여줄 글자
"text": "$button_text",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 10
}
}
]
},
// ???/?? ??
"startv2_store_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$button_text|default": "Default Button Text",
// 오버라이드 가능한 변수
"$icon_theme_dir|default": "($rainbowpie_ui_path_theme + '/icon/start')",
// 오버라이드 가능한 변수
"$icon_texture_name|default": "null",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%y", "100% - 4px" ],
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 사용할 이미지 경로
"texture": "($icon_theme_dir + '/' + $icon_texture_name)",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 8
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"button_text@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "100% - 30px", "default" ],
// 기준점에서 이동하는 거리
"offset": [ 30, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 보여줄 글자
"text": "$button_text",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 10
}
},
{
// ???/?? ??
"store_button_art": {
// 완전히 제거(공간도 없음)
"ignored": "$store_disabled",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% + 8px", "100% + 8px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 50,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#store_button_art_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"default_background@start.main_button_gif": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 오버라이드 가능한 변수
"$gif_path_binding_name": "#store_button_art_default_bg_path",
// 오버라이드 가능한 변수
"$gif_alpha_binding_name": "#store_button_art_default_alpha"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hover_background@start.main_button_gif": {
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 오버라이드 가능한 변수
"$gif_path_binding_name": "#store_button_art_hover_bg_path",
// 오버라이드 가능한 변수
"$gif_alpha_binding_name": "#store_button_art_hover_alpha"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"button_text@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "100% - 30px", "default" ],
// 기준점에서 이동하는 거리
"offset": [ 34, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 보여줄 글자
"text": "$button_text",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#store_button_art_label_color",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#color",
// ?? ???
"binding_condition": "visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"default_foreground@start.main_button_gif": {
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 오버라이드 가능한 변수
"$gif_path_binding_name": "#store_button_art_default_fg_path",
// 오버라이드 가능한 변수
"$gif_alpha_binding_name": "#store_button_art_default_alpha"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hover_foreground@start.main_button_gif": {
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// 오버라이드 가능한 변수
"$gif_path_binding_name": "#store_button_art_hover_fg_path",
// 오버라이드 가능한 변수
"$gif_alpha_binding_name": "#store_button_art_hover_alpha"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"store_button_banner@start.main_button_banner": {
// 완전히 제거(공간도 없음)
"ignored": "$store_disabled",
// 기준점에서 이동하는 거리
"offset": [ 13, -4 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 62,
// 오버라이드 가능한 변수
"$banner_visible_binding_name": "#store_button_banner_visible",
// 오버라이드 가능한 변수
"$banner_texture_binding_name": "#store_button_banner_texture",
// 오버라이드 가능한 변수
"$banner_texture_source_binding_name": "#store_button_banner_texture_source",
// 오버라이드 가능한 변수
"$banner_text_binding_name": "#store_button_banner_text",
// 오버라이드 가능한 변수
"$banner_text_color_binding_name": "#store_button_banner_text_color"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"update_icon@start.update_prompt_icon": {
// 완전히 제거(공간도 없음)
"ignored": "$store_disabled",
// 가로/세로 크기
"size": [ "52.38%y", 15 ],
// 기준점에서 이동하는 거리
"offset": [ -12, -10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 60,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#update_icon_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// ?? ???
"binding_condition": "always"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"new_offers_icon@start.new_offers_icon": {
// 완전히 제거(공간도 없음)
"ignored": "$store_disabled",
// 기준점에서 이동하는 거리
"offset": [ 12, -10 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 60,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#new_offers",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
},
// ???/?? ??
"hide_paper_doll_anim": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 0
},
// 다른 템플릿을 가져와서 확장(상속)
"hide_paper_doll_anim_exit_push@rainbowpieui_start.hide_paper_doll_anim": {
// 시작 값
"from": [ 0, 38 ],
// 끝 값
"to": [ "100%x", 38 ],
"play_event": "screen.exit_push"
},
// 다른 템플릿을 가져와서 확장(상속)
"hide_paper_doll_anim_exit_pop@rainbowpieui_start.hide_paper_doll_anim": {
// 시작 값
"from": [ 0, 38 ],
// 끝 값
"to": [ "100%x", 38 ],
"play_event": "screen.exit_pop"
},
// 다른 템플릿을 가져와서 확장(상속)
"hide_paper_doll_anim_entrance_push@rainbowpieui_start.hide_paper_doll_anim": {
// 시작 값
"from": [ "100%x", 38 ],
// 끝 값
"to": [ 0, 38 ],
"play_event": "screen.entrance_push"
},
// 다른 템플릿을 가져와서 확장(상속)
"hide_paper_doll_anim_entrance_pop@rainbowpieui_start.hide_paper_doll_anim": {
// 시작 값
"from": [ "100%x", 38 ],
// 끝 값
"to": [ 0, 38 ],
"play_event": "screen.entrance_pop"
},
// ???/?? ??
"startv2_skin_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% + 5px", "100% + 5px" ],
// 오버라이드 가능한 변수
"$button_text|default": "Default Button Text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_icon": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "gradient_renderer",
// 가로/세로 크기
"size": [ 28, "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
"color1": [ 0.407843137254902, 0.5254901960784314, 0.8, 1.0 ],
"color2": [ 0.5098039215686275, 0.6549019607843137, 1.0, 1.0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"paper_doll": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "paper_doll_renderer",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ 92, "100%x" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 38 ],
"enable_scissor_test": true,
"animation_reset_name": "screen_animation_reset",
// 애니메이션 목록
"anims": [
"@rainbowpieui_start.hide_paper_doll_anim_exit_push",
"@rainbowpieui_start.hide_paper_doll_anim_exit_pop",
"@rainbowpieui_start.hide_paper_doll_anim_entrance_push",
"@rainbowpieui_start.hide_paper_doll_anim_entrance_pop"
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"button_text@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "100% - 32.5px", "default" ],
// 기준점에서 이동하는 거리
"offset": [ 32.5, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 보여줄 글자
"text": "$button_text",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 10
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"button_text@rainbowpie_ui_common.text_label_notheme": {
// 보여줄 글자
"text": "$button_text",
// ?? (R,G,B,A)
"color": "$text_color",
// 가로/세로 크기
"size": [ "default", "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4
},
// 다른 템플릿을 가져와서 확장(상속)
"dialog_alert_toggle_base@common_toggles.light_ui_toggle": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_start.button_text",
// 오버라이드 가능한 변수
"$button_type_panel": "common_buttons.new_ui_binding_button_label",
// 오버라이드 가능한 변수
"$button_text_binding_type": "none",
// 오버라이드 가능한 변수
"$button_binding_condition": "none",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "none",
// 오버라이드 가능한 변수
"$button_text": "ToggleButton",
// 오버라이드 가능한 변수
"$button_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpie_start_dialog_alert",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 1001,
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 0,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": ""
},
// ???/?? ??
"dialog_alert_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content_panel@rainbowpie_ui_dialog.content_background": {
// 가로/세로 크기
"size": [ "100%", "fill" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"text@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 4px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_content_color",
// 보여줄 글자
"text": "$rainbowpie_ui_flag_start_dialog_alert_text"
}
}
]
}
},
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 1px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "100% + 1px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_dialog_button@rainbowpieui_start.dialog_alert_toggle_base": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$button_text": "$rainbowpie_ui_flag_start_dialog_alert_button",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": "$rainbowpie_ui_theme_dialog_content_background_alpha",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 가로/세로 크기
"size": [ "100%", 23 ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1000,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "close_dialog",
// 겹치는 순서(숫자 클수록 위)
"layer": 2000,
// 오버라이드 가능한 변수
"$button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_ok",
// 입력 시점(pressed 등)
"mapping_type": "focused"
}
]
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"start_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"icon_maker_screen": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 보이기/숨기기(공간 유지)
"visible": false,
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_icon_maker)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// 겹치는 순서(숫자 클수록 위)
"layer": 120
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"modal_input@common.input_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 128,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@rainbowpieui_start.icon_maker_toggle_base": {
// 가로/세로 크기
"size": [ "100%y", "28px" ],
// 기준점에서 이동하는 거리
"offset": [ -8, 8 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 32,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "hide_icon_maker",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_start.close_button_icon",
// 오버라이드 가능한 변수
"$button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_ok",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
]
}
},
{
// ???/?? ??
"icon_maker_background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": [ 0.196078431372549, 0.6588235294117647, 0.3215686274509804 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 16,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"icon_background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", "100%" ],
"allow_debug_missing_texture": false,
"force_texture_reload": true,
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/icon_maker/icon_bg')",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"ui_name_background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", "22%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// ???
"alpha": 0.4,
// 겹치는 순서(숫자 클수록 위)
"layer": 16,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"ui_name_text@rainbowpie_ui_common.text_label_notheme": {
// 보여줄 글자
"text": "$rainbowpie_ui_theme_global_title_text",
// ??
"font_type": "MinecraftTen",
// ?? ?? ??
"font_scale_factor": 6.0
}
}
]
}
}
]
}
}
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_secondary_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_secondary_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_ok",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_up",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_up",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_down",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_down",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_left",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_left",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_right",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_right",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_icon_maker",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"background_dialog_screen": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 보이기/숨기기(공간 유지)
"visible": false,
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_82d2c0e7) or ($rainbowpie_ui_theme_background_texture = ''))",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"modal_input@common.input_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 100,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dialog_panel@rainbowpie_ui_dialog.dialog_panel": {
// 가로/세로 크기
"size": [ 204, 132 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 100,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "rainbowpie.ui.themesystem.background.title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_start.background_dialog_content",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_show_background": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_show_close": false
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background2@rainbowpie_popup_dialog.background_panel_design2": {}
}
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_secondary_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_secondary_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_ok",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_up",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_up",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_down",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_down",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_left",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_left",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_right",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_right",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
}
]
}
}
],
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#is_background_dialog_opened": false,
// ???/??? ?
"#is_background_dialog_opened_on_vanilla": false
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "open_background_dialog",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#is_background_dialog_opened"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "open_background_dialog_vanilla",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#is_background_dialog_opened_on_vanilla"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_background_dialog_opened or #is_background_dialog_opened_on_vanilla)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"dialog_alert_screen": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 보이기/숨기기(공간 유지)
"visible": false,
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_start_dialog_alert)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"modal_input@common.input_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 100,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dialog_panel@rainbowpie_ui_dialog.dialog_panel": {
// 가로/세로 크기
"size": [ 204, 132 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 100,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "$rainbowpie_ui_flag_start_dialog_alert_title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_start.dialog_alert_content",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_show_background": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_show_close": false
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background2@rainbowpie_popup_dialog.background_panel_design2": {}
}
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_secondary_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_secondary_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_ok",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_up",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_up",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_down",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_down",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_left",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_left",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_right",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_right",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "close_dialog",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 보이기/숨기기(공간 유지)
"visible": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"design02_gradient_top": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "gradient_renderer",
// 완전히 제거(공간도 없음)
"ignored": "(((not $rainbowpie_ui_flag_8dcce82d) and (not $rainbowpie_ui_flag_start_design02_gradient)) or $rainbowpie_ui_flag_screenbackground_gradient)",
// 가로/세로 크기
"size": [ "100%", 30 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
"color1": [ 0.0, 0.0, 0.0, 0.5 ],
"color2": [ 0.0, 0.0, 0.0, 0.0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": -3
}
},
{
// ???/?? ??
"design02_gradient_bottom": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "gradient_renderer",
// 완전히 제거(공간도 없음)
"ignored": "(((not $rainbowpie_ui_flag_8dcce82d) and (not $rainbowpie_ui_flag_start_design02_gradient)) or $rainbowpie_ui_flag_screenbackground_gradient)",
// 가로/세로 크기
"size": [ "100%", 30 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
"color1": [ 0.0, 0.0, 0.0, 0.0 ],
"color2": [ 0.0, 0.0, 0.0, 0.5 ],
// 겹치는 순서(숫자 클수록 위)
"layer": -3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"header@rainbowpie_ui_common.screen_header": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_8dcce82d",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_ingame_anim1": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_ingame_anim2": "($rainbowpie_ui_flag_8dcce82d and $rainbowpie_ui_flag_fbadd01f)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_title": "Minecraft | @Mojang Studio",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_content_panel": "rainbowpieui_start.player_name_panel"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_content@rainbowpie_ui_common.screen_content": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_ingame_anim1": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_ingame_anim2": "($rainbowpie_ui_flag_8dcce82d and $rainbowpie_ui_flag_fbadd01f)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": [
{
// ???/?? ??
"start_screen_design02": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_8dcce82d)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"compatibility_version_warn@rainbowpieui_compatibility_config.compatibility_variables": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"version_warn": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 130, "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ -8, 40 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 18,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", "100%c + 6px" ],
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": 0.5,
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"load_tip_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100% - 6px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"label_1@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "100%", "default" ],
// ?? (R,G,B,A)
"color": [ 1.0, 1.0, 0.333 ],
// 보여줄 글자
"text": "rainbowpie.ui.version.warn",
// ?? ?? ??
"font_scale_factor": 1.3,
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"title_driven@rainbowpieui_settings_common.driven": {}
},
{
// ???/?? ??
"title_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"label_2@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "100%", "default" ],
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color",
// 보여줄 글자
"text": "rainbowpie.ui.version.supported",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"label_3@rainbowpie_ui_common.text_label_notheme": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpieui_version_minecraft_min = $rainbowpieui_version_minecraft_max)",
// 가로/세로 크기
"size": [ "100%", "default" ],
// ?? (R,G,B,A)
"color": [ 0.333, 1.0, 0.333 ],
// 보여줄 글자
"text": "('\"' + $rainbowpieui_version_minecraft_min + '-' + $rainbowpieui_version_minecraft_max + '\"')",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"label_4@rainbowpie_ui_common.text_label_notheme": {
// 완전히 제거(공간도 없음)
"ignored": "(not ($rainbowpieui_version_minecraft_min = $rainbowpieui_version_minecraft_max))",
// 가로/세로 크기
"size": [ "100%", "default" ],
// ?? (R,G,B,A)
"color": [ 0.333, 1.0, 0.333 ],
// 보여줄 글자
"text": "('\"' + $rainbowpieui_version_minecraft_target + '\"')",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"label_5@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "100%", "default" ],
// ?? (R,G,B,A)
"color": [ 1.0, 0.333, 0.333 ],
// 보여줄 글자
"text": "rainbowpie.ui.version.warn_unsupport",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"label_6@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "100%", "default" ],
// ?? (R,G,B,A)
"color": [ 1.0, 1.0, 0.333 ],
// 보여줄 글자
"text": "rainbowpie.ui.version.dev.err_variable",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#version"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#version - $rainbowpieui_version_minecraft_bigver) = #version)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"bottom_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"driven@rainbowpieui_settings_common.driven": {}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"label_7@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "100%", "default" ],
// ?? (R,G,B,A)
"color": [ 1.0, 1.0, 0.333 ],
// 보여줄 글자
"text": "rainbowpie.ui.version.subpacks",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"label_8@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "100%", "default" ],
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color",
// 보여줄 글자
"text": "rainbowpie.ui.version.subpacks_supported",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"label_9@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "100%", "default" ],
// ?? (R,G,B,A)
"color": [ 0.333, 1.0, 0.333 ],
// 보여줄 글자
"text": "('\"' + $rainbowpieui_version_minecraft_subpacks + '\"')",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
}
]
}
}
],
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_bigver": "($rainbowpieui_version_minecraft_bigver + '.')",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_max_version_code": "($rainbowpieui_version_minecraft_max - $rainbowpie_localui_this_bigver)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_min_version_code": "($rainbowpieui_version_minecraft_min - $rainbowpie_localui_this_bigver)",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#version"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#version - $rainbowpie_localui_this_bigver)",
// 결과가 들어갈 속성
"target_property_name": "#current_version_code"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#version - $rainbowpieui_version_minecraft_bigver) = #version)",
// 결과가 들어갈 속성
"target_property_name": "#invalid_big_version"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#current_version_code > $rainbowpie_localui_this_max_version_code)",
// 결과가 들어갈 속성
"target_property_name": "#version_too_high"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#current_version_code < $rainbowpie_localui_this_min_version_code)",
// 결과가 들어갈 속성
"target_property_name": "#version_too_low"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#invalid_big_version or #version_too_high or #version_too_low)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"title_text@rainbowpie_ui_common.title_text": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_1c167cde",
// 오버라이드 가능한 변수
"$title_text_scale": 3.4,
// 기준점에서 이동하는 거리
"offset": [ 8, "2.5%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"splash_text@common_art.splash_text": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_start_splash_text)"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"easteregg_button@common_buttons.light_text_button": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_1c167cde or (not $rainbowpie_ui_flag_3520da91))",
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "You found an easter egg!!!\nVisit the link below to claim your rewards.\n§ehttps://mintraspberry.cool/reward",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha": 0,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha": 0,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_locked_alpha": 0,
// 오버라이드 가능한 변수
"$pressed_button_name": "rainbowpie.easteregg_click",
// 오버라이드 가능한 변수
"$button_text": "",
// 오버라이드 가능한 변수
"$focus_enabled": false,
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": [ 8, 8 ],
// 기준점에서 이동하는 거리
"offset": [ 156, "2.5% + 14px" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"topbar_title_text@rainbowpie_ui_common.title_text": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_1c167cde)",
// 오버라이드 가능한 변수
"$title_text_scale": 2.4,
// 기준점에서 이동하는 거리
"offset": [ 6, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left"
}
},
{
// ???/?? ??
"pixelart_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ -8, -45 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 32,
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_start_pixelart)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"niko_oneshot@rainbowpieui_pixelart.niko_oneshot": {
// 오버라이드 가능한 변수
"$pixel_size": [ 2, 2 ]
}
}
]
}
},
{
// ???/?? ??
"more_play_option": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "150px", "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ 8, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_2f8a5e27)",
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_more_option",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"more_option_button@rainbowpieui_start.more_option_toggle_base": {
// 가로/세로 크기
"size": [ "100%", 32 ],
// 오버라이드 가능한 변수
"$icon_texture_name": "back",
// 오버라이드 가능한 변수
"$button_text": "menu.openMainMenu",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_start.startv2_big_button_panel",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1001,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "hide_more_option",
// 오버라이드 가능한 변수
"$focus_id": "back_button",
// 오버라이드 가능한 변수
"$focus_override_up": "servers_button",
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_more_option",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
}
},
{
// ???/?? ??
"more_option_button_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 4 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"quickplay_button@rainbowpieui_start.startv2_big_button_template": {
// 가로/세로 크기
"size": [ "100%", 32 ],
// 오버라이드 가능한 변수
"$icon_texture_name": "quickplay",
// 오버라이드 가능한 변수
"$button_text": "menu.quickplay",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_get_started"
}
},
{
// ???/?? ??
"quickplay_button_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 4 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_button@rainbowpieui_start.startv2_big_button_template": {
// 가로/세로 크기
"size": [ "100%", 32 ],
// 오버라이드 가능한 변수
"$icon_texture_name": "realms",
// 오버라이드 가능한 변수
"$button_text": "menu.realmsServer",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_realms",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#realms_promo_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"realms_button_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 4 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#realms_promo_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"servers_button@rainbowpieui_start.startv2_big_button_template": {
// 가로/세로 크기
"size": [ "100%", 32 ],
// 오버라이드 가능한 변수
"$icon_texture_name": "servers",
// 오버라이드 가능한 변수
"$button_text": "menu.servers",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_servers",
// 오버라이드 가능한 변수
"$focus_id": "servers_button"
}
}
]
}
},
{
// ???/?? ??
"button_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "150px", "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ 8, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_more_option",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_2f8a5e27)"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"play_button_stack": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"play_button@rainbowpieui_start.startv2_big_button_template": {
// 가로/세로 크기
"size": [ "fill", 32 ],
// 오버라이드 가능한 변수
"$icon_texture_name": "play",
// 오버라이드 가능한 변수
"$pressed_button_name": "$play_button_target",
// 오버라이드 가능한 변수
"$button_text": "menu.play",
// 오버라이드 가능한 변수
"$focus_id": "play_button",
// 오버라이드 가능한 변수
"$focus_override_up": "profile_button"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"servers_button@common_buttons.light_content_button": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_50d7b9e9)",
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "menu.servers",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_servers",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_start.servers_icon",
// 가로/세로 크기
"size": [ "100%y", 32 ],
// 오버라이드 가능한 변수
"$focus_override_up": "profile_button"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"quickplay_button@common_buttons.light_content_button": {
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_be13f8d7) or $rainbowpie_ui_flag_2f8a5e27)",
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "menu.quickplay",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_get_started",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_start.get_started_icon",
// 가로/세로 크기
"size": [ "100%y", 32 ],
// 오버라이드 가능한 변수
"$focus_override_up": "profile_button"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"more_option_button@rainbowpieui_start.more_option_toggle_base": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_2f8a5e27)",
// 가로/세로 크기
"size": [ "100%y", 32 ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1000,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "show_more_option",
// 오버라이드 가능한 변수
"$focus_override_up": "profile_button",
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_more_option",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
}
}
]
}
},
{
// ???/?? ??
"play_button_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 4 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"settings_button@rainbowpieui_start.startv2_big_button_template": {
// 오버라이드 가능한 변수
"$icon_texture_name": "settings",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_settings",
// 오버라이드 가능한 변수
"$button_text": "menu.settings"
}
},
{
// ???/?? ??
"settings_button_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 4 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"store_button@rainbowpieui_start.startv2_big_button_template": {
// 완전히 제거(공간도 없음)
"ignored": "(($trial and not $use_single_column_for_buttons) or $rainbowpie_ui_flag_1d6d26cc)",
// 오버라이드 가능한 변수
"$icon_texture_name": "marketplace",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_store",
// 오버라이드 가능한 변수
"$button_text": "menu.store",
// 오버라이드 가능한 변수
"$focus_override_right": "bottom_button"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"store_button_with_custom_controls@rainbowpieui_start.startv2_big_button_template": {
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_start.startv2_store_button_panel",
// 완전히 제거(공간도 없음)
"ignored": "(($trial and not $use_single_column_for_buttons) or (not $rainbowpie_ui_flag_1d6d26cc))",
// 오버라이드 가능한 변수
"$icon_texture_name": "marketplace",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_store",
// 오버라이드 가능한 변수
"$button_text": "menu.store",
// 오버라이드 가능한 변수
"$focus_override_right": "bottom_button",
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 동작을 실행할지
"to_button_id": "store_button.is_hovered",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
}
]
}
},
{
// ???/?? ??
"store_button_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 4 ],
// 완전히 제거(공간도 없음)
"ignored": "($trial and not $use_single_column_for_buttons)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"profile_button@rainbowpieui_start.startv2_big_button_template": {
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_start.startv2_skin_button_panel",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.to_profile_screen",
// 오버라이드 가능한 변수
"$button_text": "profileScreen.header",
// 오버라이드 가능한 변수
"$focus_id": "profile_button",
// 오버라이드 가능한 변수
"$focus_override_right": "bottom_button"
}
}
]
}
},
{
// ???/?? ??
"online_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$online_button_size",
// 오버라이드 가능한 변수
"$online_button_size": [ "100%c", "28px" ],
// 기준점에서 이동하는 거리
"offset": "$online_button_offset",
// 오버라이드 가능한 변수
"$online_button_offset": [ -8, 8 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_1c167cde",
// 오버라이드 가능한 변수
"$online_button_size": [ "100%c", "28px" ],
// 오버라이드 가능한 변수
"$online_button_offset": [ -1, 1 ]
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"profile_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_form_fitting_button",
// 오버라이드 가능한 변수
"$button_content_size_override": [ "100%c", "100%c" ],
// 오버라이드 가능한 변수
"$button_image_size_override": [ "100%c", "100%c" ],
// 오버라이드 가능한 변수
"$button_type_panel": "rainbowpieui_start.startv2_profile_button_panel",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_profile",
// 가로/세로 크기
"size": [ "100%c", "100%" ]
}
},
{
// ???/?? ??
"profile_button_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, 0 ]
}
},
{
// ???/?? ??
"xbl_signin_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#sign_in_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"xbl_signin_button@start.xbl_signin_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_form_fitting_button",
// 오버라이드 가능한 변수
"$button_content_size_override": [ "100%c", "100%c" ],
// 오버라이드 가능한 변수
"$button_image_size_override": [ "100%c + 8px", "28px" ],
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 오버라이드 가능한 변수
"$form_fitting_min_size": [ 44, 0 ]
}
}
]
}
},
{
// ???/?? ??
"online_buttons": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #sign_in_visible)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"achievements_button@start.achievements_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 가로/세로 크기
"size": [ "100%y", "100%" ]
}
},
{
// ???/?? ??
"achievements_button_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inbox_button@start.inbox_button": {
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_start.inbox_icon",
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 가로/세로 크기
"size": [ "100%y", "100%" ]
}
},
{
// ???/?? ??
"inbox_button_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_invite_button@common_buttons.light_content_button": {
// 완전히 제거(공간도 없음)
"ignored": true,
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_invite_notification",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_start.invite_notification_icon",
// 가로/세로 크기
"size": [ "100%y", "100%" ]
}
},
{
// ???/?? ??
"realms_invite_button_padding": {
// 완전히 제거(공간도 없음)
"ignored": true,
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"friends_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.friends_drawer",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_start.friends_icon",
// 가로/세로 크기
"size": [ "100%y", "100%" ]
}
}
]
}
},
{
// ???/?? ??
"close_button_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_color": [ 0.85098, 0.301961, 0.301961 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color": [ 0.85098, 0.301961, 0.301961 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color": [ 0.85098, 0.301961, 0.301961 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_default_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_hover_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_pressed_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_exit",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_start.close_button_icon",
// 가로/세로 크기
"size": [ "100%y", "100%" ]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"bottom_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "28px" ],
// 기준점에서 이동하는 거리
"offset": [ -8, -17 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"gathering_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 32,
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_start_gathering_panel_ignored",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#gathering_enabled"
},
{
// 가져올 값 이름
"binding_name": "#gathering_button_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#gathering_button_text + ',')",
// 결과가 들어갈 속성
"target_property_name": "#gathering_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (($rainbowpie_ui_flag_start_gathering_denylist - #gathering_name) = $rainbowpie_ui_flag_start_gathering_denylist))",
// 결과가 들어갈 속성
"target_property_name": "#gathering_denylisted"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#gathering_enabled and (not #gathering_denylisted))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"badge_and_caption_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"badge_and_caption@start.badge_and_caption": {
// 기준점에서 이동하는 거리
"offset": [ "0px", -28 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"gathering_button@start.gathering_button": {
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_form_fitting_button",
// 오버라이드 가능한 변수
"$button_image_size_override": [ "100%c + 8px", 28 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle"
}
}
]
}
},
{
// ???/?? ??
"gathering_panel_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, 0 ],
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_start_gathering_panel_ignored",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#gathering_enabled"
},
{
// 가져올 값 이름
"binding_name": "#gathering_button_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#gathering_button_text + ',')",
// 결과가 들어갈 속성
"target_property_name": "#gathering_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (($rainbowpie_ui_flag_start_gathering_denylist - #gathering_name) = $rainbowpie_ui_flag_start_gathering_denylist))",
// 결과가 들어갈 속성
"target_property_name": "#gathering_denylisted"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#gathering_enabled and (not #gathering_denylisted))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"icon_maker_button@rainbowpieui_start.icon_maker_toggle_base": {
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1000,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "show_icon_maker",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_icon_maker)"
}
},
{
// ???/?? ??
"icon_maker_button_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, 0 ],
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_icon_maker)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"vanilla_button@rainbowpieui_start.vanilla_button": {
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_282dd0a5)",
// 오버라이드 가능한 변수
"$focus_id": "bottom_button",
// 오버라이드 가능한 변수
"$focus_override_left": "profile_button"
}
},
{
// ???/?? ??
"vanilla_button_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, 0 ],
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_282dd0a5)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"music_button@rainbowpieui_start.music_button": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_start.music_icon",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "(not $rainbowpie_ui_flag_282dd0a5)",
// 오버라이드 가능한 변수
"$focus_id": "bottom_button",
// 오버라이드 가능한 변수
"$focus_override_left": "profile_button"
}
]
}
},
{
// ???/?? ??
"music_button_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, 0 ],
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_82d2c0e7) or ($rainbowpie_ui_theme_background_texture = ''))"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background_button@rainbowpieui_start.background_dialog_toggle_base": {
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_82d2c0e7) or ($rainbowpie_ui_theme_background_texture = ''))",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1000,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "open_background_dialog",
// 겹치는 순서(숫자 클수록 위)
"layer": 30
}
}
]
}
}
]
}
},
{
// ???/?? ??
"version_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -3 ],
// 가로/세로 크기
"size": [ "100% - 16px", 14 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"rainbowpie_version": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%cm" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_version_label@rainbowpie_ui_common.text_label": {
// 가로/세로 크기
"size": [ "default", 10 ],
// ?? ??
"text_alignment": "left",
// 보여줄 글자
"text": "($mintui_pack_name + ' ' + $rainbowpieui_branch_display_name + ' ' + $rainbowpieui_engine_version_name + '.' + $rainbowpieui_patch_version + '.' + $rainbowpieui_hotfix_version)",
// ?? (R,G,B,A)
"color": [ 0.85, 0.85, 0.85 ],
// ???
"alpha": 0.85,
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"spacer": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"addition_text@rainbowpie_ui_common.text_label": {
// 보이기/숨기기(공간 유지)
"visible": "(not ($rainbowpie_ui_flag_resourcepack_displayname = ''))",
// 가로/세로 크기
"size": [ "default", 10 ],
// ?? ??
"text_alignment": "left",
// 보여줄 글자
"text": "('| ' + $rainbowpie_ui_flag_resourcepack_displayname)",
// ?? (R,G,B,A)
"color": [ 0.85, 0.85, 0.85 ],
// ???
"alpha": 0.85,
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"addition_text_ci@rainbowpie_ui_common.text_label": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpieui_ci)",
// 보이기/숨기기(공간 유지)
"visible": "(not ($rainbowpie_ui_flag_resourcepack_identifier = ''))",
// 가로/세로 크기
"size": [ "default", 10 ],
// ?? ??
"text_alignment": "left",
// 보여줄 글자
"text": "('\" ' + '(' + $rainbowpie_ui_flag_resourcepack_identifier + ')' + '\"')",
// ?? (R,G,B,A)
"color": [ 0.85, 0.85, 0.85 ],
// ???
"alpha": 0.85,
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"minecraft_version_label@rainbowpie_ui_common.text_label": {
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "default", 10 ],
// ?? ??
"text_alignment": "right",
// 보여줄 글자
"text": "#text",
// ?? (R,G,B,A)
"color": [ 0.85, 0.85, 0.85 ],
// ???
"alpha": 0.85,
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"shadow": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#version"
},
{
// 가져올 값 이름
"binding_name": "#development_version"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#version + ' (' + #development_version + ')')",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
}
}
]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"startv2_topbar_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ "100%", 30 ],
// ???
"alpha": "$rainbowpie_ui_theme_topbar_background_alpha",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_topbar_background_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_1c167cde)",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"blur_layer_startv2_topbar@mintui_background.background_blur": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_1c167cde)",
// 오버라이드 가능한 변수
"$background_offset": [ 0, "-100% + 30px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ 0, "100% - 30px" ],
// 오버라이드 가능한 변수
"$background_layer": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"blur_layer_version_panel@mintui_background.background_blur": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_8dcce82d",
// 오버라이드 가능한 변수
"$background_offset": [ 0, "100% - 12px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ 0, "-100% + 12px" ],
// 오버라이드 가능한 변수
"$background_layer": 2,
// 오버라이드 가능한 변수
"$background_anims": [
"@rainbowpieui_start.version_background_back_animation_push1",
"@rainbowpieui_start.version_background_back_animation_pop1",
"@rainbowpieui_start.version_background_animation_push1",
"@rainbowpieui_start.version_background_animation_pop1"
],
// 오버라이드 가능한 변수
"$background_children_anims": [
"@rainbowpieui_start.version_background_back_animation_push2",
"@rainbowpieui_start.version_background_back_animation_pop2",
"@rainbowpieui_start.version_background_animation_push2",
"@rainbowpieui_start.version_background_animation_pop2"
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"version_panel@rainbowpie_ui_common.text_background": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_8dcce82d",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "100%", 12 ],
"animation_reset_name": "screen_animation_reset",
// 애니메이션 목록
"anims": [
"@rainbowpieui_start.version_panel_back_animation_push",
"@rainbowpieui_start.version_panel_back_animation_pop",
"@rainbowpieui_start.version_panel_animation_push",
"@rainbowpieui_start.version_panel_animation_pop"
],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_version_label@rainbowpie_ui_common.text_label": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpieui_ci",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os|default": "NULL",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_osc|default": "NULL",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_control_mode|default": "NULL",
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "80% - 2px", 10 ],
// ?? ??
"text_alignment": "left",
// 보여줄 글자
"text": "($mintui_pack_name + ' ' + $rainbowpieui_branch_display_name + ' ' + $rainbowpieui_engine_version_name + '.' + $rainbowpieui_patch_version + '.' + $rainbowpieui_hotfix_version + ' | ' + $rainbowpie_localui_this_device_osc + ' - ' + $rainbowpie_localui_this_device_os + ' | ' + $rainbowpie_localui_this_control_mode)",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$game_pad",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_control_mode": "Controller"
},
{
// 이 조건이 맞으면 적용
"requires": "$mouse",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_control_mode": "Keyboard & Mouse"
},
{
// 이 조건이 맞으면 적용
"requires": "$touch",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_control_mode": "Touch"
},
{
// 이 조건이 맞으면 적용
"requires": "$win10_edition",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Windows"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_win10_arm",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Windows ARM"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_windows_10_mobile",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Windows Mobile"
},
{
// 이 조건이 맞으면 적용
"requires": "$xbox_one",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Xbox One"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_ios",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "iOS"
},
{
// 이 조건이 맞으면 적용
"requires": "$osx_edition",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Mac OS"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_android",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Android"
},
{
// 이 조건이 맞으면 적용
"requires": "$google_os",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_osc": "Google"
},
{
// 이 조건이 맞으면 적용
"requires": "$apple_os",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_osc": "Apple"
},
{
// 이 조건이 맞으면 적용
"requires": "$microsoft_os",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_osc": "Microsoft"
},
{
// 이 조건이 맞으면 적용
"requires": "$nx_os",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_osc": "NX"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_ps4",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "PS4"
},
{
// 이 조건이 맞으면 적용
"requires": "$console_edition",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Console"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_ci_version_label@rainbowpie_ui_common.text_label": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpieui_ci)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os|default": "NULL",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_osc|default": "NULL",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_control_mode|default": "NULL",
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "80% - 2px", 10 ],
// ?? ??
"text_alignment": "left",
// 보여줄 글자
"text": "($mintui_pack_name + ' ' + $rainbowpieui_branch_display_name + ' ' + $rainbowpieui_engine_version_name + '.' + $rainbowpieui_patch_version + '.' + $rainbowpieui_hotfix_version + ' ' + $rainbowpieui_branch_name + '/' + $rainbowpieui_commit_id + ' | ' + $rainbowpie_localui_this_device_osc + ' - ' + $rainbowpie_localui_this_device_os + ' | ' + $rainbowpie_localui_this_control_mode)",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$game_pad",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_control_mode": "Controller"
},
{
// 이 조건이 맞으면 적용
"requires": "$mouse",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_control_mode": "Keyboard & Mouse"
},
{
// 이 조건이 맞으면 적용
"requires": "$touch",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_control_mode": "Touch"
},
{
// 이 조건이 맞으면 적용
"requires": "$win10_edition",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Windows"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_win10_arm",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Windows ARM"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_windows_10_mobile",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Windows Mobile"
},
{
// 이 조건이 맞으면 적용
"requires": "$xbox_one",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Xbox One"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_ios",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "iOS"
},
{
// 이 조건이 맞으면 적용
"requires": "$osx_edition",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Mac OS"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_android",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Android"
},
{
// 이 조건이 맞으면 적용
"requires": "$google_os",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_osc": "Google"
},
{
// 이 조건이 맞으면 적용
"requires": "$apple_os",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_osc": "Apple"
},
{
// 이 조건이 맞으면 적용
"requires": "$microsoft_os",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_osc": "Microsoft"
},
{
// 이 조건이 맞으면 적용
"requires": "$nx_os",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_osc": "NX"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_ps4",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "PS4"
},
{
// 이 조건이 맞으면 적용
"requires": "$console_edition",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_device_os": "Console"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"minecraft_version_label@rainbowpie_ui_common.text_label": {
// 기준점에서 이동하는 거리
"offset": [ -2, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "20% - 2px", 10 ],
// ?? ??
"text_alignment": "right",
// 보여줄 글자
"text": "#version",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#version"
}
]
}
}
]
}
}
],
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#is_music_player_ui_opened": false,
// ???/??? ?
"#is_vanilla_start_ui_opened": false
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "open_music_player",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#is_music_player_ui_opened",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_feature_musicplayer)"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "vanilla_startui",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#is_vanilla_start_ui_opened",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_282dd0a5)"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#is_music_player_ui_opened or #is_vanilla_start_ui_opened))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"vanilla_startui_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_282dd0a5)",
// 보이기/숨기기(공간 유지)
"visible": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_content@rainbowpie_ui_common.screen_content": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_ingame_anim1": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_ingame_anim2": "($rainbowpie_ui_flag_8dcce82d and $rainbowpie_ui_flag_fbadd01f)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": [
{
// ???/?? ??
"bottom_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "28px" ],
// 기준점에서 이동하는 거리
"offset": [ -8, -17 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"startui_button@rainbowpieui_start.startui_button": {
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_282dd0a5)"
}
},
{
// ???/?? ??
"vanilla_button_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, 0 ],
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_282dd0a5)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"music_button@rainbowpieui_start.music_button": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_start.music_icon",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "open_music_player_vanilla"
}
},
{
// ???/?? ??
"music_button_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, 0 ],
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_82d2c0e7) or ($rainbowpie_ui_theme_background_texture = ''))"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background_button@rainbowpieui_start.background_dialog_toggle_base": {
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_82d2c0e7) or ($rainbowpie_ui_theme_background_texture = ''))",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1000,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "open_background_dialog_vanilla",
// 겹치는 순서(숫자 클수록 위)
"layer": 30
}
}
]
}
}
]
}
},
{
// ???/?? ??
"rainbowpie_version": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// 가로/세로 크기
"size": [ "100%c + 4px", "100%c + 2px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, -12 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// ???
"alpha": 0.6,
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"label": {
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$main_header_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 보여줄 글자
"text": "($mintui_pack_name + ' ' + $rainbowpieui_branch_display_name + ' ' + $rainbowpieui_engine_version_name + '.' + $rainbowpieui_patch_version + '.' + $rainbowpieui_hotfix_version)",
// 가로/세로 크기
"size": [ "default", 10 ]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"startui@$screen_content": {}
}
]
}
}
],
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#is_music_player_ui_opened": false,
// ???/??? ?
"#is_vanilla_start_ui_opened": false
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "open_music_player_vanilla",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#is_music_player_ui_opened",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_feature_musicplayer)"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "vanilla_startui",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#is_vanilla_start_ui_opened",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_282dd0a5)"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_vanilla_start_ui_opened and (not #is_music_player_ui_opened))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"subscreen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_feature_musicplayer)",
// 보이기/숨기기(공간 유지)
"visible": false,
// 이 안에 들어가는 부품 목록
"controls": [
{ "music_player_screen@rainbowpie_ui_music_player.music_player_screen": {} }
],
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#is_music_player_ui_opened": false,
// ???/??? ?
"#is_music_player_ui_opened_on_vanilla": false
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "open_music_player",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#is_music_player_ui_opened"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "open_music_player_vanilla",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#is_music_player_ui_opened_on_vanilla",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_282dd0a5)"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_music_player_ui_opened or #is_music_player_ui_opened_on_vanilla)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
},
// ???/?? ??
"version_panel_back_animation_push": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ 0, 12 ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"version_panel_back_animation_pop": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ 0, 12 ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"version_panel_animation_push": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 12 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"version_panel_animation_pop": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, 12 ],
// 끝 값
"to": [ 0, 0 ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
//
"version_background_back_animation_push1": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "100% - 12px" ],
// 끝 값
"to": [ 0, "100% - 0px" ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"version_background_back_animation_push2": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "-100% + 12px" ],
// 끝 값
"to": [ 0, "-100% + 0px" ],
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"version_background_back_animation_pop1": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "100% - 12px" ],
// 끝 값
"to": [ 0, "100% - 0px" ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"version_background_back_animation_pop2": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_header_transition_effect_exit",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "-100% + 12px" ],
// 끝 값
"to": [ 0, "-100% + 0px" ],
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"version_background_animation_push1": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "100% - 0px" ],
// 끝 값
"to": [ 0, "100% - 12px" ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"version_background_animation_push2": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "-100% + 0px" ],
// 끝 값
"to": [ 0, "-100% + 12px" ],
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"version_background_animation_pop1": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "100% - 0px" ],
// 끝 값
"to": [ 0, "100% - 12px" ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"version_background_animation_pop2": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "$rainbowpie_ui_animation_transition_effect_entrance",
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time",
// 시작 값
"from": [ 0, "-100% + 0px" ],
// 끝 값
"to": [ 0, "-100% + 12px" ],
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// 다른 템플릿을 가져와서 확장(상속)
"player_name_panel@rainbowpie_ui_common.text_background": {
// 가로/세로 크기
"size": [ 100, "100%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"name_text@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 가로/세로 크기
"size": [ "100%", 10 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0],
// 보여줄 글자
"text": "#text",
"shadow": false,
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// ?? ??
"text_alignment": "center",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#playername",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text"
}
]
}
}
]
},
// ???/?? ??
"change_skin_icon": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 사용할 이미지 경로
"texture": "textures/ui/hangar",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 기준점에서 이동하는 거리
"offset": [ 7, 2 ],
// 가로/세로 크기
"size": [ 31, 15 ]
},
// ???/?? ??
"xbox_live_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 40 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@rainbowpie_ui_common.text_background": {
// 가로/세로 크기
"size": [ "100% - 1px", "100% - 1px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"gamerpic@start.gamerpic": {
// 가로/세로 크기
"size": [ 37, 37 ],
// 기준점에서 이동하는 거리
"offset": [ 1, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 오버라이드 가능한 변수
"$gamerpic_visible": "#show_gamerpic"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"alex_icon@start.alex_icon": {
// 가로/세로 크기
"size": [ 37, 37 ],
// 기준점에서 이동하는 거리
"offset": [ 1, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #show_gamerpic)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"gamertag_label@rainbowpie_ui_common.text_label": {
// 기준점에서 이동하는 거리
"offset": [ 39, 4 ],
// 가로/세로 크기
"size": [ "100% - 38px", 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 보여줄 글자
"text": "#gamertag_label",
// ?? ?? ??
"font_scale_factor": 1.2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#gamertag_label"
},
{
// 가져올 값 이름
"binding_name": "(not #sign_in_visible)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"gamertag_label_offline@rainbowpie_ui_common.text_label": {
// 기준점에서 이동하는 거리
"offset": [ 39, 4 ],
// 가로/세로 크기
"size": [ "100% - 38px", 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 보여줄 글자
"text": "#playername",
// ?? ?? ??
"font_scale_factor": 1.2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#playername"
},
{
// 가져올 값 이름
"binding_name": "#sign_in_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"online_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 39px", 20 ],
// 기준점에서 이동하는 거리
"offset": [ -0.5, -0.5 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"achievements_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_achievements",
// 오버라이드 가능한 변수
"$button_text": "gui.achievements",
// 왼쪽으로 이동할 대상
"focus_change_left": "FOCUS_OVERRIDE_STOP",
// 가로/세로 크기
"size": [ "100% - 40px", 20 ],
// 기준점에서 이동하는 거리
"offset": [ -40, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"skin_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_skins",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_start.change_skin_icon",
// 가로/세로 크기
"size": [ 20, 20 ],
// 기준점에서 이동하는 거리
"offset": [ -20, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"invite_notification_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_invite_notification",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_start.invite_notification_icon",
// 오른쪽으로 이동할 대상
"focus_change_right": "FOCUS_OVERRIDE_STOP",
// 가로/세로 크기
"size": [ 20, 20 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #sign_in_visible)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"offline_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 39px", 20 ],
// 기준점에서 이동하는 거리
"offset": [ -0.5, -0.5 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"xbl_signin_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.signin",
// 오버라이드 가능한 변수
"$button_text": "xbox.signin",
// 오른쪽으로 이동할 대상
"focus_change_right": "FOCUS_OVERRIDE_STOP",
// 가로/세로 크기
"size": [ "100% - 20px", 20 ],
// 기준점에서 이동하는 거리
"offset": [ -20, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"skin_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_skins",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_start.change_skin_icon",
// 오른쪽으로 이동할 대상
"focus_change_right": "FOCUS_OVERRIDE_STOP",
// 가로/세로 크기
"size": [ 20, 20 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#sign_in_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"exit_button@start.main_button": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_color": [ 0.85098, 0.301961, 0.301961 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color": [ 0.85098, 0.301961, 0.301961 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color": [ 0.85098, 0.301961, 0.301961 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_default_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_hover_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_pressed_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_exit",
// 오버라이드 가능한 변수
"$button_text": "gui.exit"
},
// ???/?? ??
"ui_mode_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 15, 15 ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/start/ui_mode')",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 8
},
// 다른 템플릿을 가져와서 확장(상속)
"vanilla_button@common_toggles.light_ui_toggle": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "rainbowpie.ui.start.vanilla_tip",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text_offset": [ -10, -10 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text_anchor": "top_right",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_282dd0a5)",
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_start.ui_mode_icon",
// 오버라이드 가능한 변수
"$button_text_binding_type": "none",
// 오버라이드 가능한 변수
"$button_binding_condition": "none",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "none",
// 오버라이드 가능한 변수
"$button_text": "rainbowpie.ui.start.vanilla",
// 오버라이드 가능한 변수
"$button_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpie_startui_toggle",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 903,
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 900,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "vanilla_startui",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "vanilla_startui",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#enabled",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_282dd0a5)"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"startui_button@rainbowpieui_start.vanilla_button": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_desc_text": "rainbowpie.ui.start.startui_tip",
// 오버라이드 가능한 변수
"$button_text": "rainbowpie.ui.start.startui",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 901,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "rainbowpie_startui",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "rainbowpie_startui",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#enabled",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_282dd0a5)"
}
]
},
// ???/?? ??
"music_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 15, 15 ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/start/music')",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 8
},
// 다른 템플릿을 가져와서 확장(상속)
"music_button@rainbowpie_ui_music_player.music_player_button_toggle_base": {
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1000,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "open_music_player",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$toggle_view_binding_name",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#enabled",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_feature_musicplayer)"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"invite_notification_icon@start.invite_notification_icon": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"dot_panel": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 8, 8 ],
// 기준점에서 이동하는 거리
"offset": [ -1, -1 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": [ 1.0, 0.0, 0.0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"notification_button_text@rainbowpie_ui_common.text_label": {
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": [ 1.0, 1.0, 1.0 ],
"shadow": false,
// 보여줄 글자
"text": "#realms_notification_count",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#realms_notification_count"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#realms_notification_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: stonecutter_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_stonecutter",
// ???/?? ??
"craft_icon": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_table@crafting.item_renderer": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#item_id_aux": 3801088
}
}
},
{
// ???/?? ??
"down_arrow": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 가로/세로 크기
"size": [ 10, 10 ],
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/arrow_down')",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
}
]
},
// ???/?? ??
"stonecutter_inventory_root_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 168, 162 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"inventory_ui_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 애니메이션 목록
"anims": [
// "@rainbowpie_ui_animations.container_panel_exit_animation_push",
// "@rainbowpie_ui_animations.container_panel_exit_animation_pop",
// "@rainbowpie_ui_animations.container_panel_entrance_animation_push",
// "@rainbowpie_ui_animations.container_panel_entrance_animation_pop"
],
"animation_reset_name": "screen_animation_reset",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background_icon@rainbowpie_ui_inventory.background_icon": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 가로/세로 크기
"size": [ "100%", "14.19753086419753%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "container.stonecutter",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border1_size": [ "2.380952380952381%", 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_border2_size": [ "2.380952380952381%", 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"common_panel@common.common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 가로/세로 크기
"size": [ "100%", "100% - 14.19753086419753%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle"
}
},
{
// ???/?? ??
"top_half_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "33.95061728395062%" ], // 162x55
// 기준점에서 이동하는 거리
"offset": [ 0, "-50%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"input_item_slot@rainbowpie_ui_inventory_and_container.container_item": {
// 가로/세로 크기
"size": [ "100%y", "32.72727272727273%" ],
// 기준점에서 이동하는 거리
"offset": [ "22.22222222222222%", 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 오버라이드 가능한 변수
"$item_collection_name": "stonecutter_input_items"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"result_item_slot@rainbowpie_ui_inventory_and_container.container_item": {
// 기준점에서 이동하는 거리
"offset": [ "-22.22222222222222%", 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 오버라이드 가능한 변수
"$item_collection_name": "stonecutter_result_items",
// 오버라이드 가능한 변수
"$button_ref": "stonecutter.result_slot_button",
// 오버라이드 가능한 변수
"$item_renderer_panel_size": [ "100%y", "69.23076923076923%" ],
// 가로/세로 크기
"size": [ "100%y", "47.27272727272727%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"quick_craft_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_border_layer": 30,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.container_auto_place",
// 오버라이드 가능한 변수
"$button_content": "rainbowpieui_stonecutter.craft_icon",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "100%y", "40.74074074074074%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#collection_name": "stonecutter_result_items",
// ???/??? ?
"#collection_index": 0
}
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory@rainbowpie_ui_inventory_and_container.inventory_panel_bottom_half": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "33.33333333333333%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-14.81481481481481%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar@rainbowpie_ui_inventory_and_container.hotbar_grid_template": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "96.42857142857143%", "11.11111111111111%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-1.851851851851852%" ]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: storage_management_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_storage_management",
// 다른 템플릿을 가져와서 확장(상속)
"pack_description_sub_item@storage_management.texture_icon_text": {
// 오버라이드 가능한 변수
"$check_visible": true,
// 오버라이드 가능한 변수
"$text_controls": [
{
// ???/?? ??
"panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"main_label@storage_management.common_label": {
// 가로/세로 크기
"size": [ "65%", 10 ],
// 보여줄 글자
"text": "$name_text",
// ?? (R,G,B,A)
"color": "$body_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": "$name_bindings"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"desc_label@storage_management.common_label": {
// 가로/세로 크기
"size": [ "100% - 4px", 20 ],
// 오버라이드 가능한 변수
"$description_name": "('#sub_' + $panel_prefix + _description)",
// 오버라이드 가능한 변수
"$description_binding_collection": "($panel_prefix + _panel)",
// 보여줄 글자
"text": "$description_name",
// ?? (R,G,B,A)
"color": "$light_button_secondary_default_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$description_binding_collection",
// 가져올 값 이름
"binding_name": "$description_name"
},
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
}
]
}
}
]
}
},
{
// ???/?? ??
"glyphs_and_version": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [ -5, 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"glyph_warning@storage_management.base_glyph": {
// 오버라이드 가능한 변수
"$binding_name": "warning",
// 오버라이드 가능한 변수
"$glyph_texture": "textures/ui/WarningGlyph"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"glyph_error@storage_management.base_glyph": {
// 오버라이드 가능한 변수
"$binding_name": "error",
// 오버라이드 가능한 변수
"$glyph_texture": "textures/ui/ErrorGlyph"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"glyph_update@storage_management.base_glyph": {
// 오버라이드 가능한 변수
"$binding_name": "update",
// 오버라이드 가능한 변수
"$glyph_texture": "textures/ui/UpdateGlyph"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"version_label@storage_management.common_label": {
// 가로/세로 크기
"size": [ "default", "default" ],
// 오버라이드 가능한 변수
"$version_name": "('#sub_' + $panel_prefix + _version)",
// 오버라이드 가능한 변수
"$version_binding_visible": "('#sub_' + $panel_prefix + _valid)",
// 오버라이드 가능한 변수
"$version_binding_collection": "($panel_prefix + _panel)",
// 보여줄 글자
"text": "$version_name",
// ?? (R,G,B,A)
"color": "$light_button_secondary_default_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$version_binding_collection",
// 가져올 값 이름
"binding_name": "$version_name"
},
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$version_binding_collection",
// 가져올 값 이름
"binding_name": "$version_binding_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
},
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
}
]
}
},
{
// ???/?? ??
"padding_version_label": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"driven@rainbowpieui_settings_common.driven": {
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ 1, 8 ]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"size_label@storage_management.common_label": {
// 가로/세로 크기
"size": [ "default", "default" ],
// 보여줄 글자
"text": "$size_text",
// ?? (R,G,B,A)
"color": "$light_button_secondary_default_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": "$size_bindings"
}
},
{
// ???/?? ??
"dev_tag": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 바인딩 종류(변수로 관리되는 경우도 있음)
"binding_type": "$texture_binding_type",
// 목록 이름
"binding_collection_name": "$texture_binding_collection",
// 가져올 값 이름
"binding_name": "$button_texture"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (('\"' + #texture - 'development_' + '\"') = #texture)",
// 결과가 들어갈 속성
"target_property_name": "#is_development_icon_path"
},
{
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#zip_folder",
// 바인딩 종류(변수로 관리되는 경우도 있음)
"binding_type": "$texture_binding_type",
// 목록 이름
"binding_collection_name": "$texture_binding_collection",
// 가져올 값 이름
"binding_name": "$button_texture_zip"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (('\"' + #zip_folder - 'development_' + '\"') = #zip_folder)",
// 결과가 들어갈 속성
"target_property_name": "#is_development_icon_zip"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_development_icon_path or #is_development_icon_zip)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_version_label": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"driven@rainbowpieui_settings_common.driven": {
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ 1, 8 ]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"dev_tag_label@rainbowpie_ui_common.text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "default", "default" ],
// 보여줄 글자
"text": "DEV",
// ?? (R,G,B,A)
"color": [ 1.0, 1.0, 0.333 ]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"resource_toggle": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content_toggle@common.toggle": {
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"checked_control": "default",
"unchecked_control": "unchecked",
"checked_hover_control": "hover",
"unchecked_hover_control": "unchecked_hover",
"checked_locked_control": "default",
"unchecked_locked_control": "unchecked",
"checked_locked_hover_control": "hover",
"unchecked_locked_hover_control": "unchecked_hover",
// 오버라이드 가능한 변수
"$toggle_grid_collection_name": "($panel_prefix + _panel)",
// 오버라이드 가능한 변수
"$toggle_name": "($panel_prefix + _item_dropdown)",
// 오버라이드 가능한 변수
"$toggle_binding_type": "collection",
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "($panel_prefix + _toggle_check)",
// 오버라이드 가능한 변수
"$focus_override_right": "FOCUS_OVERRIDE_STOP",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "('#' + $panel_prefix + _isSelected)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#toggle_state",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "($panel_prefix + _panel)"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"default@$item_template": {
// 오버라이드 가능한 변수
"$button_state": "default",
// 오버라이드 가능한 변수
"$checked_state": true
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hover@$item_template": {
// 오버라이드 가능한 변수
"$button_state": "hover",
// 오버라이드 가능한 변수
"$checked_state": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"unchecked@$item_template": {
// 오버라이드 가능한 변수
"$button_state": "default",
// 오버라이드 가능한 변수
"$checked_state": false
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"unchecked_hover@$item_template": {
// 오버라이드 가능한 변수
"$button_state": "hover",
// 오버라이드 가능한 변수
"$checked_state": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}
}
]
}
},
{
// ???/?? ??
"item_button_panel": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
"modal": true,
"inline_modal": true,
// 포커스 가능 여부
"focus_enabled": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ 0, 0 ],
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 가져올 값 이름
"binding_name": "('#' + $panel_prefix + _optionsVisible)",
// 목록 이름
"binding_collection_name": "($panel_prefix + _panel)"
},
{
// 가져올 값 이름
"binding_name": "#is_using_gamepad",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#modal",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.deselect_resource",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.deselect_resource",
// 입력 시점(pressed 등)
"mapping_type": "global",
"consume_event": false
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_left",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_left",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_right",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_right",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel_background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%c + 4px", "100%c + 4px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": [ 0.12941176470588237, 0.12941176470588237, 0.12941176470588237 ],
// ???
"alpha": 0.7,
// 겹치는 순서(숫자 클수록 위)
"layer": 20,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "100%c", 24 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"generate_texture_list_button@storage_management.sub_item_tray_button": {
// 완전히 제거(공간도 없음)
"ignored": "(not ($panel_prefix = resource) or true)",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$glyph_size": [ 11, 17 ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.generateTextureList",
// 오버라이드 가능한 변수
"$button_texture": "textures/ui/update",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
},
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "($panel_prefix + _panel)",
// 가져올 값 이름
"binding_name": "('#sub_' + $panel_prefix + _generate_texture_list_button_visible)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"delete_button@storage_management.sub_item_tray_button": {
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$glyph_size": [ 15, 17 ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.deleteResources",
// 오버라이드 가능한 변수
"$button_texture": "textures/ui/trash",
// 오버라이드 가능한 변수
"$button_tts_header": "storageManager.multiselectDelete",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"share_button@storage_management.sub_item_tray_button": {
// 완전히 제거(공간도 없음)
"ignored": true,
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$glyph_size": [ 16, 15 ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.shareResources",
// 오버라이드 가능한 변수
"$button_texture": "textures/ui/windowsshare",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"dependency_button@storage_management.sub_item_tray_button": {
// 완전히 제거(공간도 없음)
"ignored": "(($panel_prefix = world) or ($panel_prefix = world_template))",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$glyph_size": [ 13, 20 ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.warningDependency",
// 오버라이드 가능한 변수
"$button_texture": "#pack_info_texture",
// 오버라이드 가능한 변수
"$button_texture_binding_type": "collection",
// 오버라이드 가능한 변수
"$button_texture_collection_name": "($panel_prefix + _panel)",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
}
]
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"navigation_tab_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 가로/세로 크기
"size": [ "100%", 20 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"selected_packs_navigation_tab@rainbowpieui_storage_management.top_tab": {
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$tab_view_binding_name": "storage_management_navigation_tab_toggle",
// 오버라이드 가능한 변수
"$tab_text": "rainbowpie.ui.storage_management.tab.management",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"available_packs_navigation_tab@rainbowpieui_storage_management.top_tab": {
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$tab_view_binding_name": "storage_settings_navigation_tab_toggle",
// 오버라이드 가능한 변수
"$tab_text": "rainbowpie.ui.storage_management.tab.settings",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"top_tab@common_tabs.tab_top": {
// 오버라이드 가능한 변수
"$tab_panel": "rainbowpie_ui_tab.tab_panel",
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "storage_management_rainbowpieui_navigation_tab",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 0,
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 오버라이드 가능한 변수
"$tab_content": "rainbowpieui_storage_management.top_tab_content"
},
// ???/?? ??
"top_tab_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"tab_label@rainbowpie_ui_common.text_label_notheme": {
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "default", "default" ],
// ?? ??
"text_alignment": "center",
// 보여줄 글자
"text": "$tab_text",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: structure_editor_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_structure_editor",
// ???/?? ??
"structure_editor_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_sliderbar_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_editbox_enabled": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"header@rainbowpie_ui_common.screen_header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_ingame_anim1": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_title": "structure_block.title"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_content@rainbowpie_ui_common.screen_content": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_ingame_anim1": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content_background@rainbowpie_ui_common.global_background": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": [ "168px", "100% - 20px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 20 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ???
"alpha": "$rainbowpie_localui_this_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_alpha": "$rainbowpie_ui_theme_global_background_alpha",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$is_pregame",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_alpha": 0.5
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"left_side@structure_editor.scrolling_panel": {
// 가로/세로 크기
"size": [ "168px", "100% - 20px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 10
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"right_side@structure_editor.right_divider_content": {
// 가로/세로 크기
"size": [ "100% - 170px", "100% - 31px" ],
// 기준점에서 이동하는 거리
"offset": [ "170px", 23 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left"
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: toast_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_toast_screen",
// ???/?? ??
"popup_anim": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "out_cubic",
// 시작 값
"from": "$popup_distance_from",
// 끝 값
"to": "$popup_distance_to",
// 걸리는 시간(초)
"duration": "$transition_time",
// 오버라이드 가능한 변수
"$anim_event_name|default": "toast_animation_finished",
"end_event": "$anim_event_name"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: trade_2_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_trade2",
// ???/?? ??
"trade_screen_more_info": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 가로/세로 크기
"size": [ "100% - 12px", "100% - 28px" ],
// 보이기/숨기기(공간 유지)
"visible": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 12,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_label@rainbowpie_ui_common.text_label": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 보여줄 글자
"text": "More Info",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"result_item_label@rainbowpie_ui_common.text_label": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 보여줄 글자
"text": "Result Item Info",
// 기준점에서 이동하는 거리
"offset": [ 0, 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_renderer@common.item_renderer": {
// 가로/세로 크기
"size": [ 12, 12 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [ 0, 20 ],
// 오버라이드 가능한 변수
"$item_collection_name": "trade2_result_item",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"result_item_rc_label@rainbowpie_ui_common.text_label": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 보여줄 글자
"text": "Aux Rc: ",
// 기준점에서 이동하는 거리
"offset": [ 14, 20 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_renderer_rc@rainbowpie_ui_common.item_renderer": {
// 가로/세로 크기
"size": [ 12, 12 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [ 44, 20 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#item_id_aux_int",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "trade2_result_item"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#item_id_aux_int / 65565)",
// 결과가 들어갈 속성
"target_property_name": "#item_id"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#item_id * 65565)",
// 결과가 들어갈 속성
"target_property_name": "#item_id_aux"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"result_item_info_label@rainbowpie_ui_common.text_label": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 보여줄 글자
"text": "#text",
// 기준점에서 이동하는 거리
"offset": [ 0, 32 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hover_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "trade2_result_item"
},
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "trade2_result_item"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#item_id_aux / 65565)",
// 결과가 들어갈 속성
"target_property_name": "#item_id"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#item_id * 65565)",
// 결과가 들어갈 속성
"target_property_name": "#item_id_aux_rc"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#hover_text + '\nitem_id_aux: ' + #item_id_aux + '\nitem_id: ' + #item_id + '\nitem_id_aux(rc): ' + #item_id_aux_rc)",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "more_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"header_controls": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 보이기/숨기기(공간 유지)
"visible": "$rainbowpie_ui_flag_inventory_debug",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"more_navigation_tab@rainbowpieui_trade2.top_tab": {
// 가로/세로 크기
"size": [ "200%y", "100%" ],
// 오버라이드 가능한 변수
"$tab_view_binding_name": "more_navigation_tab_toggle",
// 오버라이드 가능한 변수
"$tab_text": "MORE INFO",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 11
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"top_tab@common_tabs.tab_top": {
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_alpha": 0.0,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_alpha": 0.2,
// 오버라이드 가능한 변수
"$tab_panel": "rainbowpie_ui_tab.tab_panel",
// 오버라이드 가능한 변수
"$toggle_tts_enabled_binding_type": "global",
// 오버라이드 가능한 변수
"$radio_toggle_group": false,
// 오버라이드 가능한 변수
"$toggle_name": "rainbowpieui_navigation_tab",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": 10,
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 오버라이드 가능한 변수
"$toggle_tts_type_priority": 1001,
// 오버라이드 가능한 변수
"$toggle_tts_toggle_on_text": "",
// 오버라이드 가능한 변수
"$toggle_tts_toggle_off_text": "",
// 오버라이드 가능한 변수
"$toggle_tts_index_priority": 1002,
// 오버라이드 가능한 변수
"$tab_content": "rainbowpieui_trade2.top_tab_content"
},
// ???/?? ??
"top_tab_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"tab_label@rainbowpie_ui_common.text_label_notheme": {
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "default", "default" ],
// ?? ??
"text_alignment": "center",
// 보여줄 글자
"text": "$tab_text",
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
},
// ???/?? ??
"tier_title": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 16 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_background@rainbowpie_ui_common.title_background": {
// 가로/세로 크기
"size": [ "100%", 14 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 4px", 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_label@rainbowpie_ui_common.title_label": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 보여줄 글자
"text": "#tier_name",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#tier_name",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$collection_name"
}
]
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_tier_unlocked",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$collection_name",
// ?? ???
"binding_condition": "always"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"title_background_locked@rainbowpie_ui_common.title_background": {
// ?? (R,G,B,A)
"color": [ 0.4, 0.4, 0.4 ],
// 가로/세로 크기
"size": [ "100%", 14 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 4px", 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_label@rainbowpie_ui_common.title_label": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 보여줄 글자
"text": "#tier_name",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#tier_name",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$collection_name"
}
]
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #is_tier_unlocked)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$collection_name",
// ?? ???
"binding_condition": "always"
}
]
}
}
]
},
// ???/?? ??
"trade_toggle_unchecked": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"toggle_checked_normal@rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
},
{
// 가져올 값 이름
"binding_name": "#trade_possible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"toggle_checked_red@rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_color": [ 0.85098, 0.301961, 0.301961 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
},
{
// 가져올 값 이름
"binding_name": "(not #trade_possible)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
},
// ???/?? ??
"trade_toggle_checked": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"toggle_checked_normal@rainbowpieui_settings_common.rainbowpie_ui_toggle_checked": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
},
{
// 가져올 값 이름
"binding_name": "#trade_possible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"toggle_checked_red@rainbowpieui_settings_common.rainbowpie_ui_toggle_checked": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_color": [ 0.85098, 0.301961, 0.301961 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
},
{
// 가져올 값 이름
"binding_name": "(not #trade_possible)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: world_section_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_world_section",
// 다른 템플릿을 가져와서 확장(상속)
"level_texture_pack_header@rainbowpieui_resource_packs.resource_packs_header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_type": "texture",
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_search_box_control": "level_rp_search_text_box_display_text",
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_search_box_placeholder": "rainbowpie.ui.resource_packs.search.placeholder.resource",
// 오버라이드 가능한 변수
"$selected_pack_items": "#selected_pack_items_level",
// 오버라이드 가능한 변수
"$available_pack_items": "#available_pack_items_level",
// 오버라이드 가능한 변수
"$selected_label_text": "resourcePack.selected.title.packs",
// 오버라이드 가능한 변수
"$available_label_text": "resourcePack.available.title.packs",
// 오버라이드 가능한 변수
"$show_checkbox": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "level_texture_pack_button_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"addon_header@rainbowpieui_resource_packs.resource_packs_header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_type": "addon",
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_search_box_control": "level_bp_search_text_box_display_text",
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_search_box_placeholder": "rainbowpie.ui.resource_packs.search.placeholder.behavior",
// 오버라이드 가능한 변수
"$selected_pack_items": "#selected_pack_items_addon",
// 오버라이드 가능한 변수
"$available_pack_items": "#available_pack_items_addon",
// 오버라이드 가능한 변수
"$selected_label_text": "resourcePack.selected.title.packs",
// 오버라이드 가능한 변수
"$available_label_text": "resourcePack.available.title.packs",
// 오버라이드 가능한 변수
"$show_checkbox": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "addon_button_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: world_templates_screen_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_world_templates",
// ???/?? ??
"world_templates_picker_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"header@rainbowpie_ui_common.screen_header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_title": "$screen_title"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_content@rainbowpie_ui_common.screen_content": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"template_scroll_content@world_templates.template_scroll_content": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ "100%", "100% - 20px" ]
}
}
]
}
}
]
},
// ???/?? ??
"list_title": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 15 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"list_title@rainbowpie_ui_common.title_background": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_list_title_text|default": "TITLE TEXT",
// 가로/세로 크기
"size": [ "100%", 14 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 4px", 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title@rainbowpie_ui_common.title_label": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 보여줄 글자
"text": "$rainbowpie_localui_list_title_text",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: xbl_friend_finder_controls.json
// 분류: RainbowPie UI / ui extras
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "rainbowpieui_xbl_friend_finder",
// ???/?? ??
"xbl_friend_finder_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_content@rainbowpie_ui_common.screen_content": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dialog@rainbowpie_ui_dialog.dialog_panel": {
// 가로/세로 크기
"size": [ 250, 110 ],
// 기준점에서 이동하는 거리
"offset": [ 0, "-20%" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "xbox.profile.addFriend",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_xbl_friend_finder.dialog_content"
}
}
]
}
}
]
},
// ???/?? ??
"dialog_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"main_panel@xbl_friend_finder.main_panel": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle"
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: _global_variables.json
// 분류: 기본 UI 모음 1 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
//////// Transition times ////////
"$transition_time_push_size": 0.2, //Shorter screen animation times - Alien
// 오버라이드 가능한 변수
"$transition_time_pop_size": 0.2, //Shorter screen animation times - Alien
// 오버라이드 가능한 변수
"$transition_time_push": 0.2, //Shorter screen animation times - Alien
// 오버라이드 가능한 변수
"$transition_time_pop": 0.2, //Shorter screen animation times - Alien
// 오버라이드 가능한 변수
"$container_transition_time_push": 0.2, //Shorter screen animation times - Alien
// 오버라이드 가능한 변수
"$container_transition_time_pop": 0.2, //Shorter screen animation times - Alien
// 오버라이드 가능한 변수
"$loading_bar_transition": 0.2 //Shorter screen animation times - Alien
}
필요한 부분만 참고해서 가져가세요.
// 예제: hud_screen.json
// 분류: 기본 UI 모음 1 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "hud",
//---------------------------------------------------------------------------
// Animated Progress Bar System
//---------------------------------------------------------------------------
"hud_title_text/title_frame": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "title",
// 계산식/참조 값
"source_property_name": "((#text - 'bar:') = #text)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"increase_anim": {
// 크기 변화
"anim_type": "size",
// 시작 값
"from": [0, "100%"],
// 끝 값
"to": ["100%", "100%"],
// 걸리는 시간(초)
"duration": "$duration",
// 움직임 곡선
"easing": "$increase_easing"
},
// ???/?? ??
"decrease_anim": {
// 크기 변화
"anim_type": "size",
// 시작 값
"from": ["100%", "100%"],
// 끝 값
"to": [0, "100%"],
// 걸리는 시간(초)
"duration": "$duration",
// 움직임 곡선
"easing": "$decrease_easing"
},
// ???/?? ??
"trail_anim": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": "$trail_delay",
// 다음 애니메이션으로 연결
"next": "@hud.decrease_anim"
},
// ???/?? ??
"animated_bar_image": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"bar_image": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": "$size_anim",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ???
"alpha": "$bar_alpha",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 사용할 이미지 경로
"texture": "$bar_texture"
}
},
{
// ???/?? ??
"trail_image": {
// 완전히 제거(공간도 없음)
"ignored": "$ignore_trail",
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 0,
// 가로/세로 크기
"size": "@hud.trail_anim",
// ???
"alpha": "$trail_alpha",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 사용할 이미지 경로
"texture": "$trail_texture"
}
}
]
},
// ???/?? ??
"animated_progress_bar": {
// animations
"$duration": 0.25,
// 오버라이드 가능한 변수
"$trail_delay|default": 0.25,
// 오버라이드 가능한 변수
"$increase_easing|default": "in_out_sine",
// 오버라이드 가능한 변수
"$decrease_easing|default": "in_out_circ",
// progress bar
"$background_size|default": [80, 6],
// 오버라이드 가능한 변수
"$background_texture|default": "textures/ui/bar_bg",
// 오버라이드 가능한 변수
"$background_alpha|default": 1,
// 오버라이드 가능한 변수
"$bar_texture|default": "textures/ui/bar",
// 오버라이드 가능한 변수
"$bar_size|default": ["100% - 2px", "100% - 2px"], // 100% is the width / height of background texture ($background_size)
// 오버라이드 가능한 변수
"$bar_offset|default": [1, 1],
// 오버라이드 가능한 변수
"$bar_alpha|default": 1,
// 오버라이드 가능한 변수
"$ignore_trail|default": false,
// 오버라이드 가능한 변수
"$trail_texture|default": "textures/ui/White",
// 오버라이드 가능한 변수
"$trail_alpha|default": 0.6,
// DO NOT FORGET to define these
"$multiplier|default": 0.05, // (1 / max_value) ; max_value is the maximum value of progress bar, here 20
// 오버라이드 가능한 변수
"$data_source|default": "<preserved title or subtitle panel>",
// 오버라이드 가능한 변수
"$max_value_binding|default": "", // keep this empty if you don't want the max value to be dynamic
// 오버라이드 가능한 변수
"$progress_binding|default": "#value", // name of the binding that will provide the value for this progress bar
// progress bar text
"$ignore_text|default": false,
// 오버라이드 가능한 변수
"$text_color|default": [1, 1, 1],
// 오버라이드 가능한 변수
"$text_font_type|default": "default",
// 오버라이드 가능한 변수
"$text_font_scale_factor|default": 1,
// 오버라이드 가능한 변수
"$text_shadow|default": true,
// 오버라이드 가능한 변수
"$text_offset|default": [0, -12],
// 오버라이드 가능한 변수
"$text_size|default": ["default", "default"],
// 오버라이드 가능한 변수
"$text_format|default": "('§z' + $progress_binding + '/20')", // this goes in source_property_name
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$background_size",
// 오버라이드 가능한 변수
"$one": 1.0,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"progress_bar_text": {
// 완전히 제거(공간도 없음)
"ignored": "$ignore_text",
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// ?? (R,G,B,A)
"color": "$text_color",
// ??
"font_type": "$text_font_type",
// ?? ?? ??
"font_scale_factor": "$text_font_scale_factor",
"shadow": "$text_shadow",
// 기준점에서 이동하는 거리
"offset": "$text_offset",
// 가로/세로 크기
"size": "$text_size",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$data_source",
// 계산식/참조 값
"source_property_name": "$text_format",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
}
},
{
// ???/?? ??
"bar_parent_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": "$bar_offset",
// 가로/세로 크기
"size": "$bar_size",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"animated_bar_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": ["100%", "100%"],
"use_anchored_offset": true,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#prev_value": 0,
// ???/??? ?
"#multiplier": "$multiplier"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 완전히 제거(공간도 없음)
"ignored": "($max_value_binding = '')",
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$data_source",
// 계산식/참조 값
"source_property_name": "$max_value_binding",
// 결과가 들어갈 속성
"target_property_name": "#max_bind"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$data_source",
// 계산식/참조 값
"source_property_name": "#visible",
// 결과가 들어갈 속성
"target_property_name": "#key"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$data_source",
// 계산식/참조 값
"source_property_name": "$progress_binding",
// 결과가 들어갈 속성
"target_property_name": "#changed_value"
},
{
// 완전히 제거(공간도 없음)
"ignored": "($max_value_binding = '')",
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "($one / #max_bind)",
// 결과가 들어갈 속성
"target_property_name": "#multiplier"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#prev_value * (1 - #key) + #changed_value * #key)",
// 결과가 들어갈 속성
"target_property_name": "#prev_value"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#changed_value + (#prev_value - #changed_value) * ((#prev_value - #changed_value) < 0))",
// 결과가 들어갈 속성
"target_property_name": "#min" // min(#prev_value, #changed_value)
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#min * #multiplier)",
// 결과가 들어갈 속성
"target_property_name": "#anchored_offset_value_x"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#changed_value + #prev_value - 2 * #min) * #multiplier)",
// 결과가 들어갈 속성
"target_property_name": "#size_binding_x"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"anim_increase": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 가로/세로 크기
"size": ["100%", "100%"],
// 오버라이드 가능한 변수
"$size_anim": "@hud.increase_anim",
// 오버라이드 가능한 변수
"$ignore_trail": true,
// 목록 아이템을 자동으로 생성
"factory": {
"name": "anim_increase",
// ??? ???
"control_name": "hud.animated_bar_image"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "animated_bar_panel",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "((#changed_value > #prev_value) * 1)",
// 결과가 들어갈 속성
"target_property_name": "#collection_length"
}
]
}
},
{
// ???/?? ??
"anim_decrease": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 가로/세로 크기
"size": ["100%", "100%"],
// 오버라이드 가능한 변수
"$size_anim": "@hud.decrease_anim",
// 목록 아이템을 자동으로 생성
"factory": {
"name": "anim_decrease",
// ??? ???
"control_name": "hud.animated_bar_image"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "animated_bar_panel",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "((#prev_value > #changed_value) * 1)",
// 결과가 들어갈 속성
"target_property_name": "#collection_length"
}
]
}
}
]
}
},
{
// ???/?? ??
"bar_panel": {
// 이미지 표시
"type": "image",
// ???
"alpha": "$bar_alpha",
// 사용할 이미지 경로
"texture": "$bar_texture",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": ["100%", "100%"],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "animated_bar_panel",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "(#min * #multiplier)",
// 결과가 들어갈 속성
"target_property_name": "#size_binding_x"
}
]
}
}
]
}
},
{
// ???/?? ??
"bar_bg": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": "$background_size",
// ???
"alpha": "$background_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 0,
// 사용할 이미지 경로
"texture": "$background_texture"
}
}
]
},
// ???/?? ??
"preserved_title": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [0, 0],
// 오버라이드 가능한 변수
"$update_string": "bar:",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#preserved_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #preserved_text) and not ((#hud_title_text_string - $update_string) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#preserved_text - $update_string) + 0)",
// 결과가 들어갈 속성
"target_property_name": "#progress"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#preserved_text - ($update_string + #progress + ',')) + 0)",
// 결과가 들어갈 속성
"target_property_name": "#max_value"
}
]
},
//---------------------------------------------------------------------------
// Hud Screen
//---------------------------------------------------------------------------
"hud_player_renderer": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
0, //Setting the size to 0 will mean the paper doll doesn't exist - Alien
0
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"hud_player": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "hud_player_renderer",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"animation_reset_name": "screen_animation_reset",
// 애니메이션 목록
"anims": [
"@common.screen_exit_size_animation_push",
"@common.screen_exit_size_animation_pop",
"@common.screen_entrance_size_animation_push",
"@common.screen_entrance_size_animation_pop"
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#paper_doll_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
},
// Displays player's position in the form "Position: 0, 0, 0", as well as "Agent Pos: 0, 0, 0" if an owned agent is present
"player_position": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [
"100%c + 6px",
"100%c + 2px"
],
// 사용할 이미지 경로
"texture": "textures/ui/Black",
"alpha": 0.0, //Remove background - Alien
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"player_position_text": {
// 글자 표시
"type": "label",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"enable_profanity_filter": false,
// ?? (R,G,B,A)
"color": "$chat_text_color",
// 보여줄 글자
"text": "#text",
"shadow": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#player_position_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// ?? ???
"binding_condition": "always_when_visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#paper_doll_visible", //Setting position binding to the paper doll binding, meaning it will only be shown when the paper doll is enabled. - Alien
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// ?? ???
"binding_condition": "always",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// Displays number of played in-game days
"number_of_days_played": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [
"100%c + 6px",
"100%c + 2px"
],
// 사용할 이미지 경로
"texture": "textures/ui/Black",
"alpha": 0.0, //Remove background - Alien
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"number_of_days_played_text": {
// 글자 표시
"type": "label",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"enable_profanity_filter": false,
// ?? (R,G,B,A)
"color": "$chat_text_color",
// 보여줄 글자
"text": "#text",
"shadow": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#number_of_days_played_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// ?? ???
"binding_condition": "always_when_visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#paper_doll_visible", //Setting position binding to the paper doll binding, meaning it will only be shown when the paper doll is enabled. - Alien
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// ?? ???
"binding_condition": "always",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// ???/?? ??
"anim_chat_bg_alpha": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_quart",
"destroy_at_end": "chat_grid_item",
// 걸리는 시간(초)
"duration": 1,
// 시작 값
"from": 0.0, //Removes background from chat fade out animation - Alien
// 끝 값
"to": 0
},
// ???/?? ??
"chat_grid_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [
"100%-2px",
"100%c"
],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #on_new_death_screen)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"chat_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/Black",
"alpha": 0.0, //Remove chat background - Alien
// 가로/세로 크기
"size": [
"100%",
"100%c"
],
// 애니메이션 목록
"anims": [
"@hud.anim_chat_bg_wait"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"chat_text@chat_label": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [
2,
0
]
}
}
]
}
}
]
},
// ???/?? ??
"anim_item_name_text_alpha_stay": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 1.5, //Time for item name to wait on screen - Alien
// 다음 애니메이션으로 연결
"next": "@hud.anim_item_name_text_alpha_out"
},
// ???/?? ??
"anim_item_name_text_alpha_out": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_expo",
"destroy_at_end": "$destroy_id",
// 걸리는 시간(초)
"duration": 1, //Time for fade out animation - Alien
// 시작 값
"from": 1.0,
// 끝 값
"to": 0
},
//Did not need to edit background animation due to background being removed.
//Did not edit in animation because it made the fade in weird when switching between items
"item_name_text_root": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%cm",
"100%cm"
],
// 오버라이드 가능한 변수
"$show_interact_padding|default": false,
// 오버라이드 가능한 변수
"$show_survival_padding|default": false,
// 오버라이드 가능한 변수
"$show_text_background|default": false,
// 오버라이드 가능한 변수
"$text_color|default": "$tool_tip_text",
// 오버라이드 가능한 변수
"$text_binding|default": "#item_text",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 오버라이드 가능한 변수
"$wait_duration|default": 1,
// 오버라이드 가능한 변수
"$destroy_id|default": "item_name_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"item_text_aligner": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [
"100%cm",
"100%c"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"item_text_control": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%cm",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
//{
// "item_text_background": {
// "ignored": "(not $show_text_background)",
// "type": "image",
// "size": [
// "100%sm + 12px",
// "100%sm + 5px"
// ],
// "texture": "textures/ui/hud_tip_text_background",
// "alpha": "@hud.anim_item_name_background_alpha_in"
// }
//},
{
// ???/?? ??
"item_text_label": {
// 글자 표시
"type": "label",
// ???/?? ??
"max_size": [
200,
"default"
],
// ?? ??
"text_alignment": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 31,
// ?? (R,G,B,A)
"color": "$text_color",
// 보여줄 글자
"text": "#text",
"shadow": true, //Add shadow so its still readable - Alien
// ???
"alpha": "@hud.anim_item_name_text_alpha_in",
// Disable profanity filter for this control so that
// we can enable it on the fly only for items with custom names
"enable_profanity_filter": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$text_binding",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text"
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"interact_padding@common.empty_panel": {
// 보이기/숨기기(공간 유지)
"visible": "$show_interact_padding",
// To not overlap with the interact button
// the text needs to move up by 18
"size": [
"100%sm",
18
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#interact_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// ?? ???
"binding_condition": "always"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"survival_buffer@common.empty_panel": {
// 보이기/숨기기(공간 유지)
"visible": "$show_survival_padding",
// Survival HUD has elements above the hot bar
// meaning the text needs to move up
"size": [
"100%sm",
17
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#show_survival_ui",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
}
]
},
// ???/?? ??
"root_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$xp_control_offset|default": [
0,
-13
],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$education_edition",
// 오버라이드 가능한 변수
"$left_helpers": "hud.left_helpers_edu"
},
{
// 이 조건이 맞으면 적용
"requires": "(not $education_edition)",
// 오버라이드 가능한 변수
"$left_helpers": "hud.left_helpers"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"layout_customization_reset": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [
"200%",
"200%"
],
// 사용할 이미지 경로
"texture": "textures/ui/Black.png",
"fill": true,
// ???
"alpha": 0.5,
// 겹치는 순서(숫자 클수록 위)
"layer": 50,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"layout_customization_reset_modal@common_dialogs.main_panel_two_buttons": {
// 가로/세로 크기
"size": [
210,
160
],
// 오버라이드 가능한 변수
"$show_close_button": false,
// 오버라이드 가능한 변수
"$child_control": "library_modal.modal_text_content",
// 오버라이드 가능한 변수
"$top_button_panel": "hud.wysiwyg_reset_modal_ok",
// 오버라이드 가능한 변수
"$bottom_button_panel": "hud.wysiwyg_reset_modal_cancel",
// 오버라이드 가능한 변수
"$modal_text": "hudScreen.controlCustomization.resetModalText"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#reset_modal_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"layout_customization_close_without_saving": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [
"200%",
"200%"
],
// 사용할 이미지 경로
"texture": "textures/ui/Black.png",
"fill": true,
// ???
"alpha": 0.5,
// 겹치는 순서(숫자 클수록 위)
"layer": 50,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"layout_customization_close_without_saving_modal@common_dialogs.main_panel_two_buttons": {
// 가로/세로 크기
"size": [
210,
160
],
// 오버라이드 가능한 변수
"$show_close_button": false,
// 오버라이드 가능한 변수
"$child_control": "library_modal.modal_text_content",
// 오버라이드 가능한 변수
"$top_button_panel": "hud.wysiwyg_close_without_saving_modal_ok",
// 오버라이드 가능한 변수
"$bottom_button_panel": "hud.wysiwyg_close_without_saving_modal_cancel",
// 오버라이드 가능한 변수
"$modal_text": "hudScreen.controlCustomization.closeWithoutSavingModalText"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#close_without_saving_modal_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"layout_customization_main_panel@hud.layout_customization_main_panel": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"layout_customization_sub_panel@hud.layout_customization_sub_panel": {}
},
{
// ???/?? ??
"layout_customization_hint_drag_frame": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 40,
"use_anchored_offset": true,
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#anchored_offset_value_y": 0.0
},
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// 가로/세로 크기
"size": [
"100%c+5px",
"100%c+2px"
],
// ???
"alpha": 0.5,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"layout_customization_hint_drag": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "hudScreen.controlCustomization.hintDrag",
// ?? (R,G,B,A)
"color": "$f_color_format"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hint_drag_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
},
{
// 가져올 값 이름
"binding_name": "#layout_customization_hint_offset_y",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#anchored_offset_value_y",
// ?? ???
"binding_condition": "visible"
}
]
}
},
{
// ???/?? ??
"layout_customization_hint_deselect_frame": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 40,
"use_anchored_offset": true,
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#anchored_offset_value_y": 0.0
},
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// 가로/세로 크기
"size": [
"100%c+5px",
"100%c+2px"
],
// ???
"alpha": 0.5,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"layout_customization_hint_deselect": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "hudScreen.controlCustomization.hintDeselect",
// ?? (R,G,B,A)
"color": "$f_color_format"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hint_deselect_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
},
{
// 가져올 값 이름
"binding_name": "#layout_customization_hint_offset_y",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#anchored_offset_value_y",
// ?? ???
"binding_condition": "visible"
}
]
}
},
{
// ???/?? ??
"layout_customization_hint_saved": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 40,
"use_anchored_offset": true,
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#anchored_offset_value_y": 0.0
},
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// 가로/세로 크기
"size": [
"100%c+5px",
"100%c+2px"
],
// ???
"alpha": 0.5,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"layout_customization_hint_saved": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "hudScreen.controlCustomization.hintSaved",
// ?? (R,G,B,A)
"color": "$f_color_format"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hint_saved_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
},
{
// 가져올 값 이름
"binding_name": "#layout_customization_hint_offset_y",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#anchored_offset_value_y",
// ?? ???
"binding_condition": "visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"left_helpers@$left_helpers": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"right_helpers@hud.right_helpers": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"emote_expediate_helpers@hud.emote_expediate_helpers": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"centered_gui_elements@centered_gui_elements": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"centered_gui_elements_at_bottom_middle@centered_gui_elements_at_bottom_middle": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"centered_gui_elements_at_bottom_middle_touch@centered_gui_elements_at_bottom_middle_touch": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"not_centered_gui_elements@not_centered_gui_elements": {}
},
{
// ???/?? ??
"gamertag_label_for_splitscreen": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": [
"default",
"default"
],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [
-4,
4
],
// ?? (R,G,B,A)
"color": "$hud_gamertag_color",
// ?? ??
"text_alignment": "right",
// 보여줄 글자
"text": "#gamertag",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#gamertag"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"exp_rend@exp_progress_bar_and_hotbar": { // for pocket
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hotbar_visible_not_centered",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"exp_rend_resizable@exp_progress_bar_and_hotbar_pocket": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hotbar_visible_not_centered_resizable",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// ???/?? ??
"hud_tip_text_factory": {
// 리스트를 자동으로 생성하는 공장
"type": "factory",
// ??? ???
"control_name": "@hud.hud_tip_text"
}
},
{
// ???/?? ??
"hud_actionbar_text_area": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 목록 아이템을 자동으로 생성
"factory": {
"name": "hud_actionbar_text_factory",
// 팩토리 템플릿 매핑
"control_ids": {
"hud_actionbar_text": "hud_actionbar_text@hud.hud_actionbar_text"
}
}
}
},
{
// ???/?? ??
"hud_title_text_area": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 목록 아이템을 자동으로 생성
"factory": {
"name": "hud_title_text_factory",
// 팩토리 템플릿 매핑
"control_ids": {
"hud_title_text": "hud_title_text@hud.hud_title_text"
}
}
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"mob_effects_renderer@mob_effects_renderer": {
// 가로/세로 크기
"size": [
"100%",
"75%"
],
// 기준점에서 이동하는 거리
"offset": [
0,
24
],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#status_effects_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
//{
// "vignette_rend@vignette_renderer": {}
//},
//Remove vignette - Alien
{
// 다른 템플릿을 가져와서 확장(상속)
"curor_rend@cursor_renderer": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#show_cursor",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"game_tip@game_tip.game_tip_factory": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"sidebar@scoreboard.scoreboard_sidebar": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#scoreboard_sidebar_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"progress_rend@progress_indicator_renderer": {
// 기준점에서 이동하는 거리
"offset": [
"50%",
"50%"
]
}
},
{
// Use a stack panel with a padding that we can ignore at runtime as needed
"chat_stack": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [
"40%",
"100%"
],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"paper_doll_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"0%", //Hide padding for paper doll so the chat appears on the top - Alien
0
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#paper_doll_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"non_centered_gui_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
32
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_visible_not_centered",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"player_position@hud.player_position": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"number_of_days_played@hud.number_of_days_played": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"game_tip@game_tip.game_tip_chat_stack_factory": {
// 가로/세로 크기
"size": [
"100%",
"100%c"
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"chat_panel@hud.chat_panel": {}
}
]
}
},
{
// ???/?? ??
"boss_health_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"boss_hud_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
20
],
// 보이기/숨기기(공간 유지)
"visible": "#boss_hud_padding", //Make this visible to move the boss hud panel down
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#boss_hud_padding",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"boss_hud_touch_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"15%"
],
// 보이기/숨기기(공간 유지)
"visible": "#boss_hud_touch_padding", //Make this visible to move the boss hud panel down
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#boss_hud_touch_padding",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// ?? ???
"binding_condition": "always"
}
]
}
},
{
// ???/?? ??
"boss_hud_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"boss_health_grid@boss_health_grid": {
// 기준점에서 이동하는 거리
"offset": [
0,
2
]
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"save_icon@hud.auto_save": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"preserved_title@hud.preserved_title": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"bar_1@hud.animated_progress_bar": {
// 오버라이드 가능한 변수
"$background_size": [120, 10],
// 오버라이드 가능한 변수
"$bar_size": ["100% - 11px", "100% - 6px"],
// 오버라이드 가능한 변수
"$bar_offset": [10, 3],
// 기준점에서 이동하는 거리
"offset": [0, 50],
// 오버라이드 가능한 변수
"$multiplier": 0.02,
// 오버라이드 가능한 변수
"$data_source": "preserved_title",
// 오버라이드 가능한 변수
"$progress_binding": "#progress",
// 오버라이드 가능한 변수
"$text_format": "('§z' + $progress_binding + '/50')"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"bar_2@hud.animated_progress_bar": {
// 오버라이드 가능한 변수
"$background_size": [120, 10],
// 오버라이드 가능한 변수
"$bar_size": ["100% - 11px", "100% - 6px"],
// 오버라이드 가능한 변수
"$bar_offset": [10, 3],
// 기준점에서 이동하는 거리
"offset": [0, 80],
// 오버라이드 가능한 변수
"$data_source": "preserved_title",
// 오버라이드 가능한 변수
"$progress_binding": "#progress",
// 오버라이드 가능한 변수
"$max_value_binding": "#max_value",
// 오버라이드 가능한 변수
"$text_format": "('§z' + $progress_binding + '/' + $max_value_binding)"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#hud_alpha",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#alpha",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#hud_propagate_alpha",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#propagateAlpha",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: inventory_screen.json
// 분류: 기본 UI 모음 1 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "crafting",
// ???/?? ??
"player_armor_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
88,
83
],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"player_bg": {
// 이미지 표시
"type": "image",
//"texture": "textures/ui/Black", For removing the background of the paper doll in inventory - Alien
"size": [
52,
70
],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [
26,
8
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"player_renderer_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
30,
30
],
// 기준점에서 이동하는 거리
"offset": [
0,
-14
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"player_renderer": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "live_player_renderer",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#look_at_cursor": true
},
"animation_reset_name": "screen_animation_reset",
// 애니메이션 목록
"anims": [
"@common.screen_exit_size_animation_push",
"@common.screen_exit_size_animation_pop",
"@common.screen_entrance_size_animation_push",
"@common.screen_entrance_size_animation_pop"
],
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
}
}
]
}
},
{
// ???/?? ??
"player_preview_border": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/player_preview_border",
// 가로/세로 크기
"size": [
54,
72
],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [
25,
7
]
}
},
{
// ???/?? ??
"armor_grid": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [
18,
72
],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [
7,
7
],
// 그리드 칸 수
"grid_dimensions": [
1,
4
],
// 오버라이드 가능한 변수
"$item_collection_name": "armor_items",
// 목록 이름
"collection_name": "$item_collection_name",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"head_grid_item@common.container_item": {
// 그리드 위치
"grid_position": [
0,
0
],
// 오버라이드 가능한 변수
"$cell_overlay_ref": "crafting.armor_overlay_helmet",
// 오버라이드 가능한 변수
"$button_ref": "crafting.no_coalesce_container_slot_button",
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "armor_item_head",
// 오버라이드 가능한 변수
"$focus_override_right_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_right": "crafting_input_top_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"chest_grid_item@common.container_item": {
// 그리드 위치
"grid_position": [
0,
1
],
// 오버라이드 가능한 변수
"$cell_overlay_ref": "crafting.armor_overlay_chest",
// 오버라이드 가능한 변수
"$button_ref": "crafting.no_coalesce_container_slot_button",
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "armor_item_chest",
// 오버라이드 가능한 변수
"$focus_override_right_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_right": "crafting_input_top_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"legs_grid_item@common.container_item": {
// 그리드 위치
"grid_position": [
0,
2
],
// 오버라이드 가능한 변수
"$cell_overlay_ref": "crafting.armor_overlay_legs",
// 오버라이드 가능한 변수
"$button_ref": "crafting.no_coalesce_container_slot_button",
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "armor_item_legs",
// 오버라이드 가능한 변수
"$focus_override_right_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_right": "crafting_input_mid_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"feet_grid_item@common.container_item": {
// 그리드 위치
"grid_position": [
0,
3
],
// 오버라이드 가능한 변수
"$cell_overlay_ref": "crafting.armor_image_feet",
// 오버라이드 가능한 변수
"$button_ref": "crafting.no_coalesce_container_slot_button",
// 오버라이드 가능한 변수
"$focus_id_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "armor_item_feet",
// 오버라이드 가능한 변수
"$focus_override_right_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_right": "offhand_items0"
}
}
]
}
},
{
// ???/?? ??
"offhand_grid": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [
18,
18
],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [
79,
61
],
// 그리드 칸 수
"grid_dimensions": [
1,
1
],
// 오버라이드 가능한 변수
"$item_collection_name": "offhand_items",
// 목록 이름
"collection_name": "$item_collection_name",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"offhand_grid_item@common.container_item": {
// 그리드 위치
"grid_position": [
0,
0
],
// 오버라이드 가능한 변수
"$cell_overlay_ref": "crafting.armor_overlay_shield",
// 오버라이드 가능한 변수
"$button_ref": "crafting.no_coalesce_container_slot_button",
// 오버라이드 가능한 변수
"$focus_override_left_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_override_left": "armor_item_feet"
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"toolbar_panel@crafting.crafting_root_panel": {
// 가로/세로 크기
"size": [
"100%c",
20
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"toolbar_background@crafting.toolbar_background": {
// 가로/세로 크기
"size": [
"100%cm",
"100% + 8px"
],
// 기준점에서 이동하는 거리
"offset": [
0,
-3
],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"toolbar_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"default",
"100% - 8px"
],
// 기준점에서 이동하는 거리
"offset": [
0,
3
],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"left_trigger_anchor": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
0,
"100%"
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#gamepad_helper_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"gamepad_helper_left_trigger@common.gamepad_helper_left_trigger": {
// 기준점에서 이동하는 거리
"offset": [
3,
-2
],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle"
}
}
]
}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
8,
0
]
}
},
{
// ???/?? ??
"creative_layout_toggle_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%c",
"100%"
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "#creative_layout_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"creative_layout_toggle@crafting.creative_layout_toggle": {
// 오버라이드 가능한 변수
"$focus_override_left": "search_tab"
}
}
]
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
2,
0
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "#creative_layout_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"recipe_book_layout_toggle_panel_survival": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
25,
"100%"
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "(not #is_creative_mode)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"recipe_book_layout_toggle@crafting.recipe_book_layout_toggle": {
// 오버라이드 가능한 변수
"$focus_override_left": "search_tab"
}
}
]
}
},
{
// ???/?? ??
"recipe_book_layout_toggle_panel_creative": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%c",
"100%"
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "#is_creative_mode",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"recipe_book_layout_toggle@crafting.recipe_book_layout_toggle": {}
}
]
}
},
{
// ???/?? ??
"padding_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
1,
0
]
}
},
{
// ???/?? ??
"survival_layout_toggle_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%c",
"100%"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"survival_layout_toggle@crafting.survival_layout_toggle": {}
}
]
}
},
{
// ???/?? ??
"padding_3": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
4,
0
]
}
},
//{
// "help_button_panel": {
// "type": "panel",
// "size": [
// "100%c",
// "100%"
// ],
// "controls": [
// {
// "help_button@crafting.help_button": {}
// }
// ]
// }
//},
//Hide how to play button - Alien
{
// ???/?? ??
"close_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
15,
"100%"
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#close_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@common.light_close_button": {
// 기준점에서 이동하는 거리
"offset": [
0,
0
],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
}
},
{
// ???/?? ??
"padding_4": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
6,
0
]
}
},
{
// ???/?? ??
"right_trigger_anchor": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
0,
"100%"
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#gamepad_helper_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"gamepad_helper_right_trigger@common.gamepad_helper_right_trigger": {
// 기준점에서 이동하는 거리
"offset": [
-2,
-2
],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle"
}
}
]
}
}
]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: loom_screen.json
// 분류: 기본 UI 모음 1 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "loom",
// 다른 템플릿을 가져와서 확장(상속)
"toolbar_panel@common.root_panel": {
// 가로/세로 크기
"size": [
"100%c",
20
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"toolbar_background@loom.toolbar_background": {
// 가로/세로 크기
"size": [
"100%cm",
"100% + 8px"
],
// 기준점에서 이동하는 거리
"offset": [
0,
-3
],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"toolbar_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"default",
"100% - 8px"
],
// 기준점에서 이동하는 거리
"offset": [
0,
3
],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
6,
0
]
}
},
//{
// "help_button_panel": {
// "type": "panel",
// "size": [ "100%c", "100%" ],
// "controls": [
// { "help_button@loom.help_button": {} }
// ]
// }
//},
//Hide how to play button - Alien
{
// ???/?? ??
"close_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%c",
"100%"
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#close_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@common.light_close_button": {
// 가로/세로 크기
"size": [
"100%cm",
"100%cm"
],
// 기준점에서 이동하는 거리
"offset": [
0,
0
],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
}
},
{
// ???/?? ??
"padding_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
6,
0
]
}
}
]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: loom_screen_pocket.json
// 분류: 기본 UI 모음 1 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "loom_pocket",
// ???/?? ??
"right_navigation_tabs": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [
35,
"100%"
],
// 기준점에서 이동하는 거리
"offset": [
-4,
0
],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"pocket_tab_close_button@common_tabs.pocket_tab_close_button": {}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
0,
1
]
}
},
//{
// "pocket_tab_help_button@common_tabs.pocket_tab_help_button": {}
//},
//Hide how to play button - Alien
{
// ???/?? ??
"fill": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"fill"
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"right_tab_loom@loom_pocket.right_tab_loom": {
// 오버라이드 가능한 변수
"$is_bottom_most_tab": true
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: npc_interact_screen.json
// 분류: 기본 UI 모음 1 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "npc_interact",
//---------------------------------------------------------------------------
// NPC Dialog Screen Customization
//---------------------------------------------------------------------------
// Main screen definition
"npc_screen": {
// 컨트롤 종류
"type": "screen",
"force_render_below": true,
// 오버라이드 가능한 변수
"$screen_bg_content": "common.screen_background",
// 오버라이드 가능한 변수
"$screen_content": "npc_interact.npc_screen_content",
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_exit",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_exit",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_exit",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
]
},
//---------------------------------------------------------------------------
// Customizable Elements
//---------------------------------------------------------------------------
// NPC 이름 라벨 커스터마이징
"basic_stack_panel/name_label": {
"color": [1.0, 1.0, 0.0], // 노란색으로 변경
"font_type": "smooth", // 폰트 타입 변경 (default, smooth, rune 등)
"font_scale_factor": 1.2, // 폰트 크기 20% 증가
"shadow": true, // 그림자 활성화
"text_alignment": "center" // 텍스트 중앙 정렬
},
// NPC 외형/설명 라벨 커스터마이징
"basic_stack_panel/appearance_label": {
"color": [0.7, 0.7, 0.7], // 회색으로 변경
// ??
"font_type": "default",
"font_scale_factor": 0.9, // 폰트 크기 10% 감소
"shadow": true
},
// NPC 대화 메시지 텍스트 커스터마이징
"npc_message/label": {
"color": [1.0, 1.0, 1.0], // 흰색 텍스트
"locked_color": [0.5, 0.5, 0.5], // 잠긴 상태일 때 어두운 회색
// ??
"font_type": "smooth",
// ?? ?? ??
"font_scale_factor": 1.0,
"shadow": true,
"line_padding": 2, // 줄 간격 설정
"text_alignment": "left" // 왼쪽 정렬
},
// 학생/플레이어 메시지 말풍선 배경 커스터마이징
"student_message_bubble": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/dialog_bubble", // 커스텀 텍스처 경로 (또는 ""로 비우기)
"alpha": 0.8, // 투명도 80%
// 가로/세로 크기
"size": ["100%", "100%c + 10px"] // 크기 조정
},
// 학생 메시지 섹션의 포인터(화살표) 제거/수정
"student_message_section/point": {
// 완전히 제거(공간도 없음)
"ignored": true // true면 숨김, false면 표시
},
// NPC 3D 모델 위치 조정
"message_model/model": {
// 기준점에서 이동하는 거리
"offset": [0, 20], // [X, Y] X: 좌우, Y: 상하
// 가로/세로 크기
"size": [100, 100] // 모델 크기 조정
},
// 모델 배경 윈도우 커스터마이징
"message_model_window": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White", // 배경 텍스처 (""로 비우면 투명)
"alpha": 0.3, // 투명도
"color": [0.2, 0.2, 0.3] // 색조 조정 (어두운 파란색)
},
// 대화 옵션 버튼 라벨 커스터마이징
"student_button_label": {
"color": [1.0, 1.0, 1.0], // 버튼 텍스트 색상
// ??
"font_type": "smooth",
// ?? ?? ??
"font_scale_factor": 1.0,
"shadow": true
},
// 대화 옵션 버튼 스타일 커스터마이징
"student_button@common_buttons.light_text_button": {
// 가로/세로 크기
"size": ["100%", 24], // 버튼 크기
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_select",
// 버튼 상태별 텍스처 커스터마이징
"$default_texture": "textures/ui/button_default",
// 오버라이드 가능한 변수
"$hover_texture": "textures/ui/button_hover",
// 오버라이드 가능한 변수
"$pressed_texture": "textures/ui/button_pressed",
// 버튼 색상 (RGB)
"$default_color": [0.3, 0.3, 0.4],
// 오버라이드 가능한 변수
"$hover_color": [0.4, 0.4, 0.5],
// 오버라이드 가능한 변수
"$pressed_color": [0.2, 0.2, 0.3]
},
//---------------------------------------------------------------------------
// Dialog Window Customization
//---------------------------------------------------------------------------
// 대화창 메인 패널 커스터마이징
"dialog_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [300, 200], // 대화창 크기 [너비, 높이]
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점에서 이동하는 거리
"offset": [0, 0], // [X, Y] 위치 오프셋
// 이 안에 들어가는 부품 목록
"controls": [
{
// 대화창 배경
"dialog_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/dialog_background", // 커스텀 배경 이미지
// ???
"alpha": 0.9,
// 가로/세로 크기
"size": ["100%", "100%"],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
},
// 다이얼로그 라벨 (제목) 커스터마이징
"basic_stack_panel/dialog_label": {
"color": [1.0, 0.8, 0.2], // 금색
// ??
"font_type": "smooth",
// ?? ?? ??
"font_scale_factor": 1.3,
"shadow": true,
// ?? ??
"text_alignment": "center",
// 완전히 제거(공간도 없음)
"ignored": false // false면 표시, true면 숨김
},
// 대화 후 패딩 조정
"basic_stack_panel/dialog_post_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [0, 10], // 여백 크기 [너비, 높이]
// 완전히 제거(공간도 없음)
"ignored": false
},
// 대화 패딩 조정
"basic_stack_panel/dialog__padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [0, 5],
// 완전히 제거(공간도 없음)
"ignored": false
},
// 대화 버튼 커스터마이징
"basic_stack_panel/dialog_button": {
// 가로/세로 크기
"size": ["100%", 30],
// 완전히 제거(공간도 없음)
"ignored": false
},
//---------------------------------------------------------------------------
// Advanced Customization Examples
//---------------------------------------------------------------------------
// 예제 1: 커스텀 애니메이션이 있는 대화창
"dialog_fade_in_anim": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_out_cubic",
// 걸리는 시간(초)
"duration": 0.3,
// 시작 값
"from": 0.0,
// 끝 값
"to": 1.0
},
// 예제 2: 커스텀 색상 변수 정의
"$npc_name_color": [1.0, 1.0, 0.0], // 노란색
// 오버라이드 가능한 변수
"$npc_message_color": [1.0, 1.0, 1.0], // 흰색
// 오버라이드 가능한 변수
"$npc_locked_color": [0.5, 0.5, 0.5], // 회색
// 오버라이드 가능한 변수
"$button_text_color": [1.0, 1.0, 1.0], // 흰색
// 오버라이드 가능한 변수
"$background_alpha": 0.9, // 배경 투명도
//---------------------------------------------------------------------------
// Usage Instructions (주석)
//---------------------------------------------------------------------------
//
// 사용 방법:
// 1. 이 파일을 리소스팩의 ui 폴더에 배치
// 2. 원하는 요소의 값을 수정
// 3. texture 경로는 실제 리소스팩의 텍스처 경로와 일치해야 함
//
// 주요 속성:
// - color: [R, G, B] (0.0 ~ 1.0 범위)
// - alpha: 투명도 (0.0 = 완전 투명, 1.0 = 불투명)
// - size: [width, height] (픽셀 또는 "100%", "100%c" 등)
// - offset: [x, y] (위치 조정)
// - font_type: "default", "smooth", "rune" 등
// - font_scale_factor: 폰트 크기 배율
// - shadow: true/false (텍스트 그림자)
// - ignored: true/false (요소 숨김/표시)
//
// 텍스처 경로 예시:
// - "textures/ui/dialog_background" -> textures/ui/dialog_background.png
// - "" -> 투명/없음
// - "textures/ui/White" -> 기본 흰색 텍스처 (색상 적용 가능)
//
//---------------------------------------------------------------------------
"comment": "NPC Dialog Screen Customization Template - Edit values above to customize your NPC dialogs"
}
필요한 부분만 참고해서 가져가세요.
// 예제: pause_screen.json
// 분류: 기본 UI 모음 1 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 다른 템플릿을 가져와서 확장(상속)
"menu_background@pause.transparent_background": {
// 가로/세로 크기
"size": [
"100% - 2px",
"100%c + 8px"
],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [
"100% - 8px",
"100%c"
],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"return_to_game_button@pause.return_to_game_button": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"return@pause.vertical_padding": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_stories_button_panel@pause.realms_stories_button_panel": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_stories@pause.vertical_padding": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_realm_level",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"settings_button@pause.settings_button": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"settings@pause.vertical_padding": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"buy_button@pause.buy_button": {}
},
//{
// "buy@pause.vertical_padding": {
// "bindings": [
// {
// "binding_name": "#is_trial_version",
// "binding_name_override": "#visible",
// "binding_type": "global"
// }
// ]
// }
//},
// {
// "store_button_panel@pause.store_button_panel": {}
// },
// Remove marketplace button
//{
// "server@pause.vertical_padding": {
// "ignored": "$is_secondary_client",
// "bindings": [
// {
// "binding_name": "#store_button_visible",
// "binding_name_override": "#visible",
// "binding_type": "global"
// }
// ]
// }
//},
{
// 다른 템플릿을 가져와서 확장(상속)
"quit_button@pause.quit_button": {}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: play_screen.json
// 분류: 기본 UI 모음 1 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "play",
//---------------------------------------------------------------------------
// Common
//---------------------------------------------------------------------------
"label_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/mainbanners"
},
// ???/?? ??
"dark_label_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/BannersLight"
},
// ???/?? ??
"world_screenshot_base": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%cm + 2px", "100%" ],
// 사용할 이미지 경로
"texture": "$border_texture",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// 다른 템플릿을 가져와서 확장(상속)
"collection_world_screenshot@play.world_screenshot_base": {
// 오버라이드 가능한 변수
"$fit_image_to_width|default": false,
// 오버라이드 가능한 변수
"$collection_binding_name|default": "",
// 오버라이드 가능한 변수
"$image_binding_name|default": "",
// 오버라이드 가능한 변수
"$texture_source_binding_name|default": "",
// 오버라이드 가능한 변수
"$supports_realmsplus_overlay|default": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"screenshot_picture": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 오버라이드 가능한 변수
"$fit_to_width": "$fit_image_to_width",
"force_texture_reload": true,
// 가로/세로 크기
"size": [ "173.91%y", "100% - 2px" ],
// 기준점에서 이동하는 거리
"offset": [ 1, 1 ],
"fill": true,
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$image_binding_name",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$collection_binding_name"
},
{
// 가져올 값 이름
"binding_name": "$texture_source_binding_name",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$collection_binding_name"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"gradient_container_stacked_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $supports_realmsplus_overlay)",
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%cm", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#realmsplus_expired_visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 이름
"binding_collection_name": "$collection_binding_name"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"gradient_image_realmsplus_expired": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "69.5%y", "50%" ],
// 사용할 이미지 경로
"texture": "textures/ui/realmsparkle"
}
},
{
// ???/?? ??
"solid_image_realmsplus_expired": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 가로/세로 크기
"size": [ "69.5%y", "50%" ],
// 사용할 이미지 경로
"texture": "textures/ui/realmsparkle1",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"exclamationmark": {
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$realmsplus_exclamation_mark_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 보여줄 글자
"text": "!",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 1, -1 ]
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"world_item_grid_base": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": [ "100%", "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left"
},
//---------------------------------------------------------------------------
// Common Icons
//---------------------------------------------------------------------------
"edit_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/editIcon",
// 가로/세로 크기
"size": [ 22, 16 ]
},
// ???/?? ??
"realms_stories_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/realmsStoriesIcon",
// 가로/세로 크기
"size": [ 22, 22 ]
},
// ???/?? ??
"realms_stories_icon_animated": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/realmsStoriesIconAnimated",
// 가로/세로 크기
"size": [ 22, 22 ],
// ???? ??
"uv_size": [ 22, 22 ],
// ???? ?? ??
"uv": "@play.anim_realms_stories_icon",
"disable_anim_fast_forward": true
},
// ???/?? ??
"anim_realms_stories_icon": {
// 프레임 애니메이션
"anim_type": "flip_book",
"initial_uv": [ 0, 0 ],
"frame_count": 13,
"fps": 4,
"looping": false,
// 움직임 곡선
"easing": "linear",
"wait_until_rendered_to_play": true
},
// ???/?? ??
"realms_slots_edit_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/realmsSlotsEditIcon",
// 가로/세로 크기
"size": [ 22, 22 ]
},
// ???/?? ??
"worlds_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/worldsIcon",
// 가로/세로 크기
"size": [ 16, 17 ]
},
// ???/?? ??
"realms_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/realmsIcon",
// 가로/세로 크기
"size": [ 11, 14 ]
},
// ???/?? ??
"realms_chevron": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/realms_chevron_play",
// 가로/세로 크기
"size": [ 23, 28 ]
},
// ???/?? ??
"friends_icon_1": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/Friend1",
// 가로/세로 크기
"size": [ 10, 10 ]
},
// ???/?? ??
"friends_icon_2": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/Friend2",
// 가로/세로 크기
"size": [ 10, 10 ]
},
// ???/?? ??
"bell_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/icon_bell",
// 가로/세로 크기
"size": [ 20, 20 ]
},
// ???/?? ??
"invite_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/invite_base",
// 가로/세로 크기
"size": [ 20, 20 ]
},
// ???/?? ??
"delete_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/trash_light",
// 가로/세로 크기
"size": [ 22, 16 ]
},
// ???/?? ??
"world_download_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/world_download",
// 가로/세로 크기
"size": [ 15, 16 ]
},
// To create the bouncing effect of alternating bounces for the notification icon
// the durations have to be alternated and then resynced with the wait time.
"anim_icon_wait_A": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 0.14,
// 다음 애니메이션으로 연결
"next": "@play.anim_icon_A_bounce_in_2",
"end_event": "friend_icon_bounce_start"
},
// ???/?? ??
"anim_icon_wait_B": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 0.1,
// 다음 애니메이션으로 연결
"next": "@play.anim_icon_B_bounce_in_2",
"end_event": "friend_icon_bounce_start"
},
// ???/?? ??
"anim_count_wait": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 0.14,
// 다음 애니메이션으로 연결
"next": "@play.anim_count_bounce_in_2",
"end_event": "friend_icon_bounce_start"
},
// ???/?? ??
"anim_icon_wait_A_2": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 0.1,
// 다음 애니메이션으로 연결
"next": "@play.anim_icon_A_bounce_in_3",
"end_event": "friend_icon_bounce_start"
},
// ???/?? ??
"anim_icon_wait_B_2": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 0.14,
// 다음 애니메이션으로 연결
"next": "@play.anim_icon_B_bounce_in_3",
"end_event": "friend_icon_bounce_start"
},
// ???/?? ??
"anim_count_wait_2": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 0.1,
// 다음 애니메이션으로 연결
"next": "@play.anim_count_bounce_in_3",
"end_event": "friend_icon_bounce_start"
},
// After three bounces the icon waits for three seconds.
"anim_icon_wait_A_3": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 3.04,
// 다음 애니메이션으로 연결
"next": "@play.anim_icon_A_bounce_in",
"end_event": "friend_icon_bounce_start"
},
// ???/?? ??
"anim_icon_wait_B_3": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 2.97,
// 다음 애니메이션으로 연결
"next": "@play.anim_icon_B_bounce_in",
"end_event": "friend_icon_bounce_start"
},
// ???/?? ??
"anim_count_wait_3": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 3.04,
// 다음 애니메이션으로 연결
"next": "@play.anim_count_bounce_in",
"end_event": "friend_icon_bounce_start"
},
// The icon is always being offseted by a constant amount, going up by 4 then down by 4
// This is to get the text in the right position at the beginning.
"anim_count_wait_offset": {
// 위치 이동
"anim_type": "offset",
// 걸리는 시간(초)
"duration": 1.00,
// 시작 값
"from": [ -5, 1 ],
// 끝 값
"to": [ -5, 1 ],
// 다음 애니메이션으로 연결
"next": "@play.anim_count_wait_3"
},
// Alternating between .185 and .225, and being resynced with waits.
"anim_icon_A_bounce_in": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 0.185,
// 시작 값
"from": [ -5, 2 ],
// 끝 값
"to": [ -5, -2 ],
// 다음 애니메이션으로 연결
"next": "@play.anim_icon_A_bounce_out"
},
// ???/?? ??
"anim_icon_A_bounce_out": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 0.185,
// 시작 값
"from": [ -5, -2 ],
// 끝 값
"to": [ -5, 2 ],
// 다음 애니메이션으로 연결
"next": "@play.anim_icon_wait_A",
"end_event": "friend_icon_bounce_end"
},
// ???/?? ??
"anim_icon_B_bounce_in": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 0.225,
// 시작 값
"from": [ 0, -3 ],
// 끝 값
"to": [ 0, -7 ],
// 다음 애니메이션으로 연결
"next": "@play.anim_icon_B_bounce_out"
},
// ???/?? ??
"anim_icon_B_bounce_out": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 0.225,
// 시작 값
"from": [ 0, -7 ],
// 끝 값
"to": [ 0, -3 ],
// 다음 애니메이션으로 연결
"next": "@play.anim_icon_wait_B",
"end_event": "friend_icon_bounce_end"
},
// ???/?? ??
"anim_icon_A_bounce_in_2": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 0.225,
// 시작 값
"from": [ -5, 2 ],
// 끝 값
"to": [ -5, -2 ],
// 다음 애니메이션으로 연결
"next": "@play.anim_icon_A_bounce_out_2"
},
// ???/?? ??
"anim_icon_A_bounce_out_2": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 0.225,
// 시작 값
"from": [ -5, -2 ],
// 끝 값
"to": [ -5, 2 ],
// 다음 애니메이션으로 연결
"next": "@play.anim_icon_wait_A_2",
"end_event": "friend_icon_bounce_end"
},
// ???/?? ??
"anim_icon_B_bounce_in_2": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 0.185,
// 시작 값
"from": [ 0, -3 ],
// 끝 값
"to": [ 0, -7 ],
// 다음 애니메이션으로 연결
"next": "@play.anim_icon_B_bounce_out_2"
},
// ???/?? ??
"anim_icon_B_bounce_out_2": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 0.185,
// 시작 값
"from": [ 0, -7 ],
// 끝 값
"to": [ 0, -3 ],
// 다음 애니메이션으로 연결
"next": "@play.anim_icon_wait_B_2",
"end_event": "friend_icon_bounce_end"
},
// ???/?? ??
"anim_icon_A_bounce_in_3": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 0.185,
// 시작 값
"from": [ -5, 2 ],
// 끝 값
"to": [ -5, -2 ],
// 다음 애니메이션으로 연결
"next": "@play.anim_icon_A_bounce_out_3"
},
// ???/?? ??
"anim_icon_A_bounce_out_3": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 0.185,
// 시작 값
"from": [ -5, -2 ],
// 끝 값
"to": [ -5, 2 ],
// 다음 애니메이션으로 연결
"next": "@play.anim_icon_wait_A_3",
"end_event": "friend_icon_bounce_end"
},
// ???/?? ??
"anim_icon_B_bounce_in_3": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 0.225,
// 시작 값
"from": [ 0, -3 ],
// 끝 값
"to": [ 0, -7 ],
// 다음 애니메이션으로 연결
"next": "@play.anim_icon_B_bounce_out_3"
},
// ???/?? ??
"anim_icon_B_bounce_out_3": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 0.225,
// 시작 값
"from": [ 0, -7 ],
// 끝 값
"to": [ 0, -3 ],
// 다음 애니메이션으로 연결
"next": "@play.anim_icon_wait_B_3",
"end_event": "friend_icon_bounce_end"
},
// ???/?? ??
"anim_count_bounce_in": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 0.185,
// 시작 값
"from": [ -5, 1 ],
// 끝 값
"to": [ -5, -3 ],
// 다음 애니메이션으로 연결
"next": "@play.anim_count_bounce_out"
},
// ???/?? ??
"anim_count_bounce_out": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 0.185,
// 시작 값
"from": [ -5, -3 ],
// 끝 값
"to": [ -5, 1 ],
// 다음 애니메이션으로 연결
"next": "@play.anim_count_wait",
"end_event": "friend_icon_bounce_end"
},
// ???/?? ??
"anim_count_bounce_in_2": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 0.225,
// 시작 값
"from": [ -5, 1 ],
// 끝 값
"to": [ -5, -3 ],
// 다음 애니메이션으로 연결
"next": "@play.anim_count_bounce_out_2"
},
// ???/?? ??
"anim_count_bounce_out_2": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 0.225,
// 시작 값
"from": [ -5, -3 ],
// 끝 값
"to": [ -5, 1 ],
// 다음 애니메이션으로 연결
"next": "@play.anim_count_wait_2",
"end_event": "friend_icon_bounce_end"
},
// ???/?? ??
"anim_count_bounce_in_3": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 0.185,
// 시작 값
"from": [ -5, 1 ],
// 끝 값
"to": [ -5, -3 ],
// 다음 애니메이션으로 연결
"next": "@play.anim_count_bounce_out_3"
},
// ???/?? ??
"anim_count_bounce_out_3": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 0.185,
// 시작 값
"from": [ -5, -3 ],
// 끝 값
"to": [ -5, 1 ],
// 다음 애니메이션으로 연결
"next": "@play.anim_count_wait_3",
"end_event": "friend_icon_bounce_end"
},
// ???/?? ??
"third_party_servers_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/addServer",
// 가로/세로 크기
"size": [ 17, 13 ]
},
// ???/?? ??
"lan_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/lan_icon",
// 가로/세로 크기
"size": [ 14, 14 ]
},
// ???/?? ??
"friends_server_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 14, 14 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#friends_server_icon_texture_name",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "friends_network_worlds"
}
]
},
// ???/?? ??
"cross_platform_friends_server_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 14, 14 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#cross_platform_friends_server_icon_texture_name",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "cross_platform_friends_network_worlds"
}
]
},
// ???/?? ??
"realms_remove_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/redX1",
// 가로/세로 크기
"size": [ 12, 12 ]
},
// ???/?? ??
"game_online_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/online",
// 가로/세로 크기
"size": [ 8, 8 ]
},
// ???/?? ??
"game_offline_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/offline",
// 가로/세로 크기
"size": [ 8, 8 ]
},
// ???/?? ??
"game_unavailable_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/offline",
// 가로/세로 크기
"size": [ 8, 8 ]
},
// ???/?? ??
"import_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/import",
// 가로/세로 크기
"size": [ 16, 16 ]
},
// ???/?? ??
"upload_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/upload_glyph",
// 가로/세로 크기
"size": [ 16, 16 ]
},
// ???/?? ??
"add_server_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/addServer",
// 가로/세로 크기
"size": [ 17, 13 ]
},
// ???/?? ??
"server_tab_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/servers",
// 가로/세로 크기
"size": [ 15, 15 ]
},
// ???/?? ??
"realms_art_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/realms_art_icon",
// 가로/세로 크기
"size": [ 647, 760 ]
},
// ???/?? ??
"realms_text_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/realms_text_background"
},
// ???/?? ??
"connected_storage": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/local_and_cloud_storage",
// 가로/세로 크기
"size": [ 12, 8 ]
},
// ???/?? ??
"feedback_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/Feedback",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 가로/세로 크기
"size": [ 16, 16 ]
},
// 다른 템플릿을 가져와서 확장(상속)
"local_only_storage@play.connected_storage": {
// 사용할 이미지 경로
"texture": "textures/ui/local_only_storage"
},
// 다른 템플릿을 가져와서 확장(상속)
"local_and_cloud_storage@play.connected_storage": {
// 사용할 이미지 경로
"texture": "textures/ui/local_and_cloud_storage"
},
// 다른 템플릿을 가져와서 확장(상속)
"cloud_only_storage@play.connected_storage": {
// 사용할 이미지 경로
"texture": "textures/ui/cloud_only_storage"
},
// ???/?? ??
"left_arrow_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 7, 7 ],
// 사용할 이미지 경로
"texture": "textures/ui/arrow_left_white",
// ?? (R,G,B,A)
"color": "$text_color"
},
// ???/?? ??
"right_arrow_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 7, 7 ],
// 사용할 이미지 경로
"texture": "textures/ui/arrow_right_white",
// ?? (R,G,B,A)
"color": "$text_color"
},
// 다른 템플릿을 가져와서 확장(상속)
"small_progress_panel@progress.progress_loading_bars": {
// 가로/세로 크기
"size": [ 20, 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// ?? (R,G,B,A)
"color": "$dark_button_default_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #ping_ready_thirdparty)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
//---------------------------------------------------------------------------
// SIGN IN TO JOIN REALMS PROMPT
//---------------------------------------------------------------------------
"sign_in_realms_image": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%cm", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"chevron@play.realms_chevron": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 기준점에서 이동하는 거리
"offset": "$chevron_offset"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"portal@play.realms_icon": {
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 기준점에서 이동하는 거리
"offset": "$portal_offset"
}
}
],
// this is to counteract the image moving down when the button is pressed
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$pressed_state",
// 오버라이드 가능한 변수
"$chevron_offset": [ -3, -1 ],
// 오버라이드 가능한 변수
"$portal_offset": [ -6, -1 ]
},
{
// 이 조건이 맞으면 적용
"requires": "(not $pressed_state)",
// 오버라이드 가능한 변수
"$chevron_offset": [ -3, 0 ],
// 오버라이드 가능한 변수
"$portal_offset": [ -6, 0 ]
}
]
},
// ???/?? ??
"realms_sign_in_prompt_label": {
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$text_color",
// 보여줄 글자
"text": "#realms_sign_in_prompt",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#realms_sign_in_prompt"
}
]
},
// ???/?? ??
"realms_sign_in_prompt": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "fill", "100%sm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_sign_in_prompt_label@play.realms_sign_in_prompt_label": {}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"realms_sign_in_prompt_friends@play.realms_sign_in_prompt": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_sign_in_prompt_label_friends@play.realms_sign_in_prompt_label": {
// 보여줄 글자
"text": "#realms_sign_in_prompt_friends",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#realms_sign_in_prompt_friends"
}
]
}
}
]
},
// ???/?? ??
"sign_in_to_view_realms_content_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%cm" ],
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 오버라이드 가능한 변수
"$prompt": "play.realms_sign_in_prompt",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"sign_in_realms_image@play.sign_in_realms_image": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_sign_in_prompt@$prompt": {}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"sign_in_to_view_realms_content_panel_friends@play.sign_in_to_view_realms_content_panel": {
// 오버라이드 가능한 변수
"$prompt": "play.realms_sign_in_prompt_friends"
},
// 다른 템플릿을 가져와서 확장(상속)
"sign_in_to_view_realms_button@common_buttons.dark_content_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_sign_in_to_view_realms",
// 오버라이드 가능한 변수
"$button_content": "play.sign_in_to_view_realms_content_panel",
// 가로/세로 크기
"size": [ "100%", 29 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#realms_sign_in_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"sign_in_to_view_realms_button_friends@play.sign_in_to_view_realms_button": {
// 오버라이드 가능한 변수
"$button_content": "play.sign_in_to_view_realms_content_panel_friends"
},
//---------------------------------------------------------------------------
// REALMS WORLD GRID
//---------------------------------------------------------------------------
"realms_list_text": {
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$text_color",
"shadow": false,
// 보여줄 글자
"text": "$text",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 오버라이드 가능한 변수
"$text_binding_type|default": "none",
// 오버라이드 가능한 변수
"$realms_worlds_collection_name|default": "",
// 오버라이드 가능한 변수
"$text_binding_condition|default": "none",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// ?? ???
"binding_condition": "$text_binding_condition",
// 가져올 값 이름
"binding_name": "$text",
// 바인딩 종류(변수로 관리되는 경우도 있음)
"binding_type": "$text_binding_type",
// 목록 이름
"binding_collection_name": "$realms_worlds_collection_name"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"realms_world_header@play.realms_list_text": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// ?? (R,G,B,A)
"color": "$text_color",
// 가로/세로 크기
"size": [ "100%", 10 ],
// 오버라이드 가능한 변수
"$text": "#realms_world_header",
// 오버라이드 가능한 변수
"$text_binding_type": "collection"
},
// 다른 템플릿을 가져와서 확장(상속)
"realms_world_details@play.realms_list_text": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 가로/세로 크기
"size": [ "100%", 10 ],
// ?? (R,G,B,A)
"color": "$secondary_text_color",
// 오버라이드 가능한 변수
"$text": "#realms_world_details",
// 오버라이드 가능한 변수
"$text_binding_type": "collection"
},
// 다른 템플릿을 가져와서 확장(상속)
"realms_world_type@play.realms_list_text": {
// 가로/세로 크기
"size": [ "default", 10 ],
// ?? (R,G,B,A)
"color": "$secondary_text_color",
// 오버라이드 가능한 변수
"$text": "selectWorld.worldTags.hardcore",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#realms_world_is_hardcore",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$realms_worlds_collection_name"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"realms_world_player_count@play.world_list_text": {
// 보여줄 글자
"text": "#realms_world_player_count",
// ?? (R,G,B,A)
"color": "$secondary_text_color",
// 가로/세로 크기
"size": [ "default", 10 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#realms_world_player_count",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$realms_worlds_collection_name"
}
]
},
// ???/?? ??
"realms_world_game_status_icon": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 10, 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"game_online_icon@play.game_online_icon": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#realms_game_online",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$realms_worlds_collection_name"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"game_unavailable_icon@play.game_unavailable_icon": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#realms_game_unavailable",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$realms_worlds_collection_name"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"game_offline_icon@play.game_offline_icon": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#realms_game_offline",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$realms_worlds_collection_name"
}
]
}
}
]
},
// ???/?? ??
"realms_world_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%-2px", "100%-2px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "realms_world_header@play.realms_world_header": {} },
{ "realms_world_details@play.realms_world_details": {} }
]
},
// ???/?? ??
"realms_world_trial_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%-2px", "100%-2px" ],
// 오버라이드 가능한 변수
"$world_header_text_binding_type|default": "none",
// 오버라이드 가능한 변수
"$world_details_text|default": "#player_gamertag",
// 오버라이드 가능한 변수
"$world_details_text_binding_type|default": "global",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_world_header_text@play.realms_list_text": {
// 오버라이드 가능한 변수
"$text": "$button_content_text",
// 오버라이드 가능한 변수
"$text_binding_type": "$world_header_text_binding_type",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": [ "100%", 10 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_world_details@play.realms_list_text": {
// 오버라이드 가능한 변수
"$text": "$world_details_text",
// ?? (R,G,B,A)
"color": "$secondary_text_color",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 가로/세로 크기
"size": [ "100%", 10 ]
}
}
]
},
// ???/?? ??
"realms_world_content_text_area_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{ "realms_world_text_panel@play.realms_world_text_panel": {} }
]
},
// ???/?? ??
"realms_trial_content_text_area_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{ "realms_world_trial_text_panel@play.realms_world_trial_text_panel": {} }
]
},
// ???/?? ??
"realms_world_content_status_area_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%cm" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"world_player_count_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_world_player_count@play.realms_world_player_count": {
}
}
]
}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 10 ]
}
},
{ "realms_world_game_status_icon@play.realms_world_game_status_icon": {} }
]
},
// ???/?? ??
"realms_world_content_status_area_panel_container": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%cm", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"realms_world_status_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%sm", "100%c" ],
"min_size": [ "100%c", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_world_content_status_area_panel@play.realms_world_content_status_area_panel": {}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_world_type@play.realms_world_type": {}
}
]
},
// ???/?? ??
"realms_world_content_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($realms_worlds_collection_name = $personal_realm_collection_name)",
// 오버라이드 가능한 변수
"$show_screenshot": true
},
{
// 이 조건이 맞으면 적용
"requires": "($realms_worlds_collection_name = $friend_realm_collection_name)",
// 오버라이드 가능한 변수
"$show_screenshot": false
},
{
// 이 조건이 맞으면 적용
"requires": "$default_state",
// 오버라이드 가능한 변수
"$border_texture": "textures/ui/default_indent"
},
{
// 이 조건이 맞으면 적용
"requires": "$hover_state",
// 오버라이드 가능한 변수
"$border_texture": "textures/ui/world_screenshot_focus_border"
},
{
// 이 조건이 맞으면 적용
"requires": "$pressed_state",
// 오버라이드 가능한 변수
"$border_texture": "textures/ui/world_screenshot_focus_border"
},
{
// 이 조건이 맞으면 적용
"requires": "$locked_state",
// 오버라이드 가능한 변수
"$border_texture": "textures/ui/default_indent"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"realm_screenshot@play.realm_screenshot": {
// 완전히 제거(공간도 없음)
"ignored": "(not $show_screenshot)"
}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, "100%" ],
// 완전히 제거(공간도 없음)
"ignored": "(not $show_screenshot)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_world_content_text_area_panel@play.realms_world_content_text_area_panel": {
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"realms_world_content_status_area_panel": {
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_world_content_status_area_panel_container@play.realms_world_content_status_area_panel_container": {}
}
]
}
}
]
},
// ???/?? ??
"realms_trial_content_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$default_state",
// 오버라이드 가능한 변수
"$border_texture": "textures/ui/default_indent"
},
{
// 이 조건이 맞으면 적용
"requires": "$hover_state",
// 오버라이드 가능한 변수
"$border_texture": "textures/ui/world_screenshot_focus_border"
},
{
// 이 조건이 맞으면 적용
"requires": "$pressed_state",
// 오버라이드 가능한 변수
"$border_texture": "textures/ui/world_screenshot_focus_border"
},
{
// 이 조건이 맞으면 적용
"requires": "$locked_state",
// 오버라이드 가능한 변수
"$border_texture": "textures/ui/default_indent"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{ "realm_screenshot@play.realm_screenshot": {} },
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_trial_content_text_area_panel@play.realms_trial_content_text_area_panel": {
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"realms_world_item_button@common_buttons.dark_content_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_start_realms_world",
// 오버라이드 가능한 변수
"$button_content": "play.realms_world_content_panel",
// 오버라이드 가능한 변수
"$personal_realm_collection_name": "personal_realms",
// 오버라이드 가능한 변수
"$friend_realm_collection_name": "friends_realms",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$realms_worlds_collection_name"
},
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져올 값 이름
"binding_name": "#world_button_focus_identifier",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#focus_identifier",
// 목록 이름
"binding_collection_name": "$realms_worlds_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#cross_platform_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"realms_world_edit_button@common_buttons.dark_glyph_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_realms_world_item_edit",
// 오버라이드 가능한 변수
"$button_content": "play.realms_slots_edit_icon",
// 오버라이드 가능한 변수
"$button_tts_header": "accessibility.play.editRealm",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$realms_worlds_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#cross_platform_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled"
}
]
},
// ???/?? ??
"realms_feed_button_content": {
// 이미지 표시
"type": "image",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"default_icon@play.realms_stories_icon": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져올 값 이름
"binding_name": "(not #realms_unread_story_count_visible)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 이름
"binding_collection_name": "$realms_worlds_collection_name"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"unread_icon_active@play.realms_stories_icon_animated": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져올 값 이름
"binding_name": "#realms_unread_story_count_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 이름
"binding_collection_name": "$realms_worlds_collection_name"
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"persistent_realms_feed_button_control@common_buttons.new_ui_button_panel": {
// 오버라이드 가능한 변수
"$new_ui_button_texture": "$default_button_texture",
// 오버라이드 가능한 변수
"$glyph_color": "$dark_glyph_default_color",
// 오버라이드 가능한 변수
"$border_color": "$dark_border_default_color",
// 오버라이드 가능한 변수
"$button_press_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$border_layer": 2,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_alpha": 0,
// 오버라이드 가능한 변수
"$content_alpha": 0,
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 오버라이드 가능한 변수
"$button_content": "play.realms_feed_button_content"
},
// 다른 템플릿을 가져와서 확장(상속)
"realms_feed_button@common_buttons.dark_glyph_button_with_custom_control": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_realms_feed",
// 오버라이드 가능한 변수
"$custom_control": "play.persistent_realms_feed_button_control",
// 오버라이드 가능한 변수
"$button_tts_header": "#realms_feed_button_tts_header",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$realms_worlds_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#menu_realms_feed_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
},
{
// 가져올 값 이름
"binding_name": "#realms_feed_button_tts_header",
// 목록 이름
"binding_collection_name": "$realms_worlds_collection_name",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 가져올 값 이름
"binding_name": "#cross_platform_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"leave_friends_realm_button@common_buttons.dark_glyph_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_realms_world_item_remove",
// 오버라이드 가능한 변수
"$button_content": "play.realms_remove_icon",
// 오버라이드 가능한 변수
"$button_tts_header": "accessibility.play.leaveRealm",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$realms_worlds_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#cross_platform_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled"
}
]
},
// ???/?? ??
"unread_story_count_text": {
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$tab_secondary_unchecked_text_color",
"shadow": false,
// 보여줄 글자
"text": "#realms_unread_story_count",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져올 값 이름
"binding_name": "#realms_unread_story_count",
// 목록 이름
"binding_collection_name": "$realms_worlds_collection_name"
}
]
},
// ???/?? ??
"unread_story_count_text_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/invite_number_background"
},
// ???/?? ??
"unread_story_count_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"text@play.unread_story_count_text": {
// 겹치는 순서(숫자 클수록 위)
"layer": 9,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@play.unread_story_count_text_background": {
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 가로/세로 크기
"size": [ "100%+4px", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ -0.5, 0 ]
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져올 값 이름
"binding_name": "#realms_unread_story_count_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 이름
"binding_collection_name": "$realms_worlds_collection_name"
}
]
},
// ???/?? ??
"realms_world_item": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", 29 ],
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_world_item_button@play.realms_world_item_button": {
// 가로/세로 크기
"size": [ "fill", "100% + 1px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"edit_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%y - 1px", "100% + 1px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_world_edit_button@play.realms_world_edit_button": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"realms_world_expiry_notification_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/update",
// 기준점에서 이동하는 거리
"offset": [ 0, -10 ],
// 가로/세로 크기
"size": [ 8, 15 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 7,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져올 값 이름
"binding_name": "#realms_world_expiry_notification_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 이름
"binding_collection_name": "$realms_worlds_collection_name"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#realms_edit_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$realms_worlds_collection_name"
}
]
}
},
{
// ???/?? ??
"feed_panel_with_unread_count": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%y - 1px", "100% + 1px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"feed_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_feed_button@play.realms_feed_button": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"unread_story_count@play.unread_story_count_panel": {
// 기준점에서 이동하는 거리
"offset": [ 0, 1.5 ]
}
}
]
}
},
{
// ???/?? ??
"leave_realm_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c - 1px", "100% + 1px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"leave_friends_realm_button@play.leave_friends_realm_button": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#leave_realm_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$realms_worlds_collection_name"
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"realms_world_item_grid@play.world_item_grid_base": {
"grid_item_template": "$grid_item_layout",
"grid_dimension_binding": "$grid_name",
// 목록 이름
"collection_name": "$realms_worlds_collection_name",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$grid_name"
},
{
// 가져올 값 이름
"binding_name": "#realms_grids_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
//---------------------------------------------------------------------------
// FRIENDS WORLD GRID
//---------------------------------------------------------------------------
"network_world_header": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", 10 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 오버라이드 가능한 변수
"$header_icon_visible|default": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"network_world_header_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 10, 10 ],
// 완전히 제거(공간도 없음)
"ignored": "(not $header_icon_visible)",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#network_world_header_icon_texture_path",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$collection_name"
},
{
// 가져올 값 이름
"binding_name": "#network_world_header_icon_texture_location",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$collection_name"
}
]
}
},
{
// ???/?? ??
"spacer": {
// 완전히 제거(공간도 없음)
"ignored": "(not $header_icon_visible)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 5, 0 ]
}
},
{
// ???/?? ??
"header_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"network_world_header_text@play.world_list_text": {
// 보여줄 글자
"text": "#network_world_header",
// ?? (R,G,B,A)
"color": "$text_color",
// 기준점에서 이동하는 거리
"offset": [ 0, 1 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#network_world_header",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$collection_name"
}
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"network_world_details@play.world_list_text": {
// 보여줄 글자
"text": "#network_world_details",
// ?? (R,G,B,A)
"color": "$secondary_text_color",
// 가로/세로 크기
"size": [ "100%", 10 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#network_world_details",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$collection_name"
}
]
},
// ???/?? ??
"network_world_player_count": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"count@play.world_list_text": {
// 보여줄 글자
"text": "#network_world_player_count",
// ?? (R,G,B,A)
"color": "$secondary_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#network_world_player_count",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$collection_name"
},
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져올 값 이름
"binding_name": "#network_world_player_count_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 이름
"binding_collection_name": "$collection_name"
}
]
}
}
]
},
// ???/?? ??
"network_world_game_status_icon": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 10, 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"game_online_icon@play.game_online_icon": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#game_online",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$collection_name"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"game_unavailable_icon@play.game_unavailable_icon": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#game_unavailable",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$collection_name"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"game_offline_icon@play.game_offline_icon": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#game_offline",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$collection_name"
}
]
}
}
]
},
// ???/?? ??
"network_world_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%-2px", "100%-2px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "network_world_header@play.network_world_header": {} },
{ "network_world_details@play.network_world_details": {} }
]
},
// ???/?? ??
"network_world_content_text_area_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{ "network_world_text_panel@play.network_world_text_panel": {} }
]
},
// ???/?? ??
"network_world_content_status_area_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%cm" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"network_player_count_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"network_world_player_count@play.network_world_player_count": {
}
}
]
}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 10 ]
}
},
{ "network_world_game_status_icon@play.network_world_game_status_icon": {} }
]
},
// ???/?? ??
"network_world_content_status_area_panel_container": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%cm", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"network_world_status_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%sm", "100%c" ],
"min_size": [ "100%c", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"network_world_content_status_area_panel@play.network_world_content_status_area_panel": {}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"network_world_type@play.network_world_type": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져올 값 이름
"binding_name": "#network_world_is_hardcore",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 이름
"binding_collection_name": "$collection_name"
}
]
}
}
]
},
// ???/?? ??
"network_world_type": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"type@play.world_list_text": {
// 보여줄 글자
"text": "selectWorld.worldTags.hardcore",
// ?? (R,G,B,A)
"color": "$secondary_text_color"
}
}
]
},
// ???/?? ??
"network_world_item_button_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"network_world_content_text_area_panel@play.network_world_content_text_area_panel": {
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"network_status_area_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"network_world_content_status_area_panel_container@play.network_world_content_status_area_panel_container": {}
}
]
}
},
{
// ???/?? ??
"network_world_type_icon": {
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$text_color",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 완전히 제거(공간도 없음)
"ignored": "$hide_network_icon",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 6, 10 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"$network_world_icon@$network_world_icon": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"network_world_item_button@common_buttons.dark_content_button": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_network_world_item",
// 오버라이드 가능한 변수
"$button_content": "play.network_world_item_button_content",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$collection_name"
},
{
// 가져올 값 이름
"binding_name": "#network_world_button_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled",
// 목록 이름
"binding_collection_name": "$collection_name",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"network_server_world_edit_button@common_buttons.dark_glyph_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_network_server_world_edit",
// 오버라이드 가능한 변수
"$button_content": "play.edit_icon",
// 오버라이드 가능한 변수
"$button_tts_header": "accessibility.play.editServer",
// 가로/세로 크기
"size": [ "100%y", "100% + 1px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$collection_name"
},
{
// 가져올 값 이름
"binding_name": "#network_world_button_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled",
// 목록 이름
"binding_collection_name": "$collection_name",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
},
// ???/?? ??
"network_world_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", 30 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"network_world_item_button@play.network_world_item_button": {
// 가로/세로 크기
"size": [ "100%", "100% + 1px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"network_world_item_grid@play.world_item_grid_base": {
"grid_item_template": "$network_world_grid_item_template",
"grid_dimension_binding": "$network_world_item_grid_dimension_binding",
// 목록 이름
"collection_name": "$collection_name",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$network_world_item_grid_dimension_binding"
}
]
},
// ???/?? ??
"label_content_template": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%", "100%c + 4px" ],
// 오버라이드 가능한 변수
"$hide_network_icon|default": false,
// 오버라이드 가능한 변수
"$label_panel_visible|default": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"label_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 오버라이드 가능한 변수
"$label_offset|default": [ 1, 0 ],
// 오버라이드 가능한 변수
"$label_size|default": [ "100%", "default" ],
// 보이기/숨기기(공간 유지)
"visible": "$label_panel_visible",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"label_panel_layout": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": [ "100%-4px", "100%c+2px" ],
// 기준점에서 이동하는 거리
"offset": "$label_offset",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"label": {
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$dark_button_default_text_color",
// 가로/세로 크기
"size": "$label_size",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"shadow": false,
// 보여줄 글자
"text": "$label_content_label",
// 오버라이드 가능한 변수
"$label_content_label_binding_type|default": "none",
// 오버라이드 가능한 변수
"$label_content_label_binding_condition|default": "none",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$label_content_label",
// 바인딩 종류(변수로 관리되는 경우도 있음)
"binding_type": "$label_content_label_binding_type",
// ?? ???
"binding_condition": "$label_content_label_binding_condition"
}
]
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"content@$label_content_content": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
},
// ???/?? ??
"information_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%cm" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@play.dark_label_background": {
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"label_panel_layout": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "100%-8px", "100%c + 8px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"label": {
// 글자 표시
"type": "label",
// 오버라이드 가능한 변수
"$information_label_font|default": "default",
// ??
"font_type": "$information_label_font",
// ?? (R,G,B,A)
"color": "$dark_button_default_text_color",
// 가로/세로 크기
"size": [ "100%", "default" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"shadow": false,
// 보여줄 글자
"text": "$information_panel_label_text",
// 오버라이드 가능한 변수
"$information_panel_label_text_binding_type|default": "none",
// 오버라이드 가능한 변수
"$information_panel_label_text_binding_condition|default": "none",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$information_panel_label_text",
// 바인딩 종류(변수로 관리되는 경우도 있음)
"binding_type": "$information_panel_label_text_binding_type",
// ?? ???
"binding_condition": "$information_panel_label_text_binding_condition"
}
]
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"focus_button@common.non_interact_focus_border_button": {
// 가로/세로 크기
"size": [ "100%", "100%sm" ],
"tts_inherit_siblings": true
}
}
]
},
// ???/?? ??
"blocked_multiplayer_privileges_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@play.dark_label_background": {
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"label_panel_layout": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "100%-8px", "100%c + 8px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"label": {
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$dark_button_default_text_color",
// 가로/세로 크기
"size": [ "100%", "default" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"shadow": false,
// 보이기/숨기기(공간 유지)
"visible": false,
// 보여줄 글자
"text": "#privilegesBlockedText",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#privilegesBlockedText",
// 게임이 주는 전역 값 연결
"binding_type": "global",
// ?? ???
"binding_condition": "always_when_visible"
}
]
}
}
]
}
}
]
}
}
]
},
//---------------------------------------------------------------------------
// RECENT SERVER GRID
//---------------------------------------------------------------------------
"more_servers_grid": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": [ "100%", "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"grid_item_template": "more_servers_world_item",
"grid_dimension_binding": "#servers_network_world_item_grid_dimension",
// 목록 이름
"collection_name": "servers_network_worlds",
// 오버라이드 가능한 변수
"$collection_name": "servers_network_worlds",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
"ttsSectionContainer": true,
// 오버라이드 가능한 변수
"$toggle_index_binding_name": "#additional_server_toggle_index",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#servers_network_world_item_grid_dimension"
}
]
},
// ???/?? ??
"additional_server_toggle_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$toggle_unchecked",
// 오버라이드 가능한 변수
"$border_texture": "textures/ui/default_indent"
},
{
// 이 조건이 맞으면 적용
"requires": "$toggle_unchecked_hover",
// 오버라이드 가능한 변수
"$border_texture": "textures/ui/world_screenshot_focus_border"
},
{
// 이 조건이 맞으면 적용
"requires": "$toggle_checked_hover",
// 오버라이드 가능한 변수
"$border_texture": "textures/ui/world_screenshot_focus_border"
},
{
// 이 조건이 맞으면 적용
"requires": "$toggle_checked",
// 오버라이드 가능한 변수
"$border_texture": "textures/ui/default_indent"
},
{
// 이 조건이 맞으면 적용
"requires": "$toggle_locked",
// 오버라이드 가능한 변수
"$border_texture": "textures/ui/default_indent"
}
],
// 오버라이드 가능한 변수
"$secondary_text_color": "$dark_button_secondary_default_text_color",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"network_world_content_text_area_panel@play.network_world_content_text_area_panel": {
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
},
// ???/?? ??
"more_servers_label_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"list_label": {
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$dark_button_default_text_color",
// 가로/세로 크기
"size": [ "100%", 10 ],
// 기준점에서 이동하는 거리
"offset": [ 1, 0 ],
// 보여줄 글자
"text": "$label_text"
}
}
]
},
// ???/?? ??
"more_servers_world_item": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", 30 ],
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"additional_server_toggle_base@play.server_toggle_base": {
// 오버라이드 가능한 변수
"$focus_override_right": "edit_server",
// 가로/세로 크기
"size": [ "fill", "100% + 1px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 오버라이드 가능한 변수
"$button_content": "play.additional_server_toggle_content",
// 오버라이드 가능한 변수
"$toggle_index_binding_name": "#additional_server_toggle_index"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"network_server_world_edit_button@play.network_server_world_edit_button": {
// 오버라이드 가능한 변수
"$focus_id": "edit_server",
// 오버라이드 가능한 변수
"$focus_override_right": "right_side",
// 완전히 제거(공간도 없음)
"ignored": "$ignore_add_servers",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"additional_server_info_panel@play.common_scroll_pane": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_network_available_and_multiplayer_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"server_info_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%- 2px", "100%c + 1px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"server_name@play.world_list_text": {
// 보여줄 글자
"text": "#info_additional_server_name",
"localize": false,
// ?? (R,G,B,A)
"color": "$main_header_text_color",
// ??
"font_type": "smooth",
// ?? ??
"text_alignment": "left",
// 가로/세로 크기
"size": [ "100%", 10 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#info_additional_server_name"
}
]
}
},
{
// ???/?? ??
"padding_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"player_count@play.text_icon_number_panel": {
// 오버라이드 가능한 변수
"$text_icon_number_text": "networkWorld.online",
// 오버라이드 가능한 변수
"$text_icon_number_icon": "#server_player_count_icon",
// 오버라이드 가능한 변수
"$text_icon_number_number": "#info_additional_server_player_count",
// 오버라이드 가능한 변수
"$icon_size": [ 5, 5 ]
}
},
{
// ???/?? ??
"padding_3": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"ping@play.text_icon_number_panel": {
// 오버라이드 가능한 변수
"$text_icon_number_text": "networkWorld.current_ping",
// 오버라이드 가능한 변수
"$text_icon_number_icon": "#info_additional_server_ping_texture_name",
// 오버라이드 가능한 변수
"$text_icon_number_number": "#info_additional_server_ping",
// 오버라이드 가능한 변수
"$icon_size": [ 8, 8 ],
// 오버라이드 가능한 변수
"$ping_bindings": [
{
// 가져올 값 이름
"binding_name": "#ping_ready_thirdparty",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 오버라이드 가능한 변수
"$progress_panel": "play.small_progress_panel",
// 오버라이드 가능한 변수
"$number_bindings": [
{
// 가져올 값 이름
"binding_name": "$text_icon_number_number"
},
{
// 가져올 값 이름
"binding_name": "#ping_ready_external",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"padding_4": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"join_server_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_network_server_item",
// 오버라이드 가능한 변수
"$button_text": "networkWorld.join_server",
// 오버라이드 가능한 변수
"$focus_override_left": "left_panel",
// 가로/세로 크기
"size": [ "100%", 20 ]
}
}
]
}
}
]
},
// ???/?? ??
"ping_rate_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 8, 8 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#texture_name",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$collection_name"
}
]
},
// ???/?? ??
"ping_rate_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"concurrency_stack": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"player_count": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": [ "default", 10 ],
// 보여줄 글자
"text": "#server_player_count",
// ?? (R,G,B,A)
"color": "$text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져올 값 이름
"binding_name": "#server_player_count",
// 목록 이름
"binding_collection_name": "$collection_name"
}
]
}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"ping_rate_icon@play.ping_rate_icon": {}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져올 값 이름
"binding_name": "(#is_network_available_and_ping_not_loading)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 이름
"binding_collection_name": "third_party_server_network_worlds"
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"add_server_info_panel@play.common_scroll_pane": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"server_info_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%- 2px", "100%c + 1px" ],
// 보이기/숨기기(공간 유지)
"visible": "(not $is_console)",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 4 ]
}
},
{
// ???/?? ??
"add_server_title": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "externalServerScreen.addServerTitle",
// ?? (R,G,B,A)
"color": "$body_text_color",
// ?? ??
"text_alignment": "left",
// 가로/세로 크기
"size": [ "100%", 10 ]
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// ???/?? ??
"add_server_description": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "externalServerScreen.addServerDescription",
// ?? (R,G,B,A)
"color": "$body_text_color",
// ??
"font_type": "smooth",
// ?? ?? ??
"font_scale_factor": 0.8,
// ?? ??
"text_alignment": "left",
// 가로/세로 크기
"size": [ "100%", "default" ]
}
}
]
}
}
]
},
//---------------------------------------------------------------------------
// FEATURED SERVER GRID
//---------------------------------------------------------------------------
"third_party_featured_server_grid": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": [ "100%", "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"grid_item_template": "featured_server_world_item",
"grid_dimension_binding": "#third_party_featured_item_grid_dimension",
// 목록 이름
"collection_name": "third_party_server_network_worlds",
// 오버라이드 가능한 변수
"$collection_name": "third_party_server_network_worlds",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
"ttsSectionContainer": true,
// 오버라이드 가능한 변수
"$toggle_index_binding_name": "#third_party_toggle_index",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#third_party_featured_item_grid_dimension"
},
{
// 가져올 값 이름
"binding_name": "#featured_servers_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
// ???/?? ??
"featured_server_world_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 40 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"server_button@play.server_toggle_base": {
// 오버라이드 가능한 변수
"$button_content": "play.server_button_content_panel",
// 오버라이드 가능한 변수
"$toggle_index_binding_name": "#third_party_toggle_index"
}
}
]
},
// ???/?? ??
"server_button_content_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$toggle_unchecked",
// 오버라이드 가능한 변수
"$border_texture": "textures/ui/default_indent"
},
{
// 이 조건이 맞으면 적용
"requires": "$toggle_unchecked_hover",
// 오버라이드 가능한 변수
"$border_texture": "textures/ui/world_screenshot_focus_border"
},
{
// 이 조건이 맞으면 적용
"requires": "$toggle_checked_hover",
// 오버라이드 가능한 변수
"$border_texture": "textures/ui/world_screenshot_focus_border"
},
{
// 이 조건이 맞으면 적용
"requires": "$toggle_checked",
// 오버라이드 가능한 변수
"$border_texture": "textures/ui/default_indent"
},
{
// 이 조건이 맞으면 적용
"requires": "$toggle_locked",
// 오버라이드 가능한 변수
"$border_texture": "textures/ui/default_indent"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"top_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "50%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"third_party_server_screenshot@play.third_party_server_screenshot": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#third_party_screenshot_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$collection_name"
}
]
}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 6, "100%" ]
}
},
{
// ???/?? ??
"title_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"third_party_server_name@play.world_list_text": {
// 보여줄 글자
"text": "#third_party_server_name",
"localize": false,
// ?? (R,G,B,A)
"color": "$text_color",
// ??
"font_type": "smooth",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#third_party_server_name",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$collection_name"
},
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져올 값 이름
"binding_name": "#is_server_info_available_collection",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 이름
"binding_collection_name": "third_party_server_network_worlds"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"progress@progress.progress_loading_bars": {
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 4px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// ?? (R,G,B,A)
"color": "$text_color",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져올 값 이름
"binding_name": "(not #is_server_info_available_collection)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 이름
"binding_collection_name": "third_party_server_network_worlds"
}
]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// ???/?? ??
"bottom_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "50% - 2px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"third_party_server_message@play.world_list_text": {
// 보여줄 글자
"text": "#third_party_server_message",
"localize": false,
// ?? (R,G,B,A)
"color": "$dark_button_default_text_color",
// ??
"font_type": "smooth",
// 가로/세로 크기
"size": [ "100% - 4px", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 2, 1 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#third_party_server_message",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$collection_name"
},
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져올 값 이름
"binding_name": "(not #is_network_available)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 이름
"binding_collection_name": "third_party_server_network_worlds"
}
]
}
}
]
}
}
]
},
// ???/?? ??
"third_party_server_content_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"ping_rate_panel@play.ping_rate_panel": {}
}
]
},
// ???/?? ??
"loading_featured_servers_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
"min_size": [ "100%", 60 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"load_bars": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 12 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"progress_loading_bars@common_store.progress_loading_bars": {
}
}
]
}
}
]
},
// ???/?? ??
"third_party_server_screenshot": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%c + 2px", "100%" ],
// 사용할 이미지 경로
"texture": "$border_texture",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"picture": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "177.78%y", "100% - 2px" ],
// 기준점에서 이동하는 거리
"offset": [ 1, 1 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#third_party_server_logo_texture_path",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 이름
"binding_collection_name": "$collection_name"
},
{
// 가져올 값 이름
"binding_name": "#third_party_server_logo_resource_location",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 이름
"binding_collection_name": "$collection_name"
},
{
// 가져올 값 이름
"binding_name": "#third_party_server_logo_resource_location",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system"
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"third_party_server_info_panel@play.common_scroll_pane": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#featured_servers_visible_and_available",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"server_info_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%- 2px", "100%c + 1px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_server_info_available",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 4 ]
}
},
{
// ???/?? ??
"server_screenshot": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", "56.25%x" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#info_third_party_server_logo_texture_path",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture"
},
{
// 가져올 값 이름
"binding_name": "#third_party_server_logo_resource_location",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system"
},
{
// 가져올 값 이름
"binding_name": "#third_party_server_logo_resource_location",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 이름
"binding_collection_name": "server_games_collection"
},
{
// 가져올 값 이름
"binding_name": "#info_third_party_screenshot_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"server_name@play.world_list_text": {
// 보여줄 글자
"text": "#info_third_party_server_name",
"localize": false,
// ?? (R,G,B,A)
"color": "$main_header_text_color",
// ??
"font_type": "smooth",
// ?? ??
"text_alignment": "left",
// 가로/세로 크기
"size": [ "100%", 10 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#info_third_party_server_name"
}
]
}
},
{
// ???/?? ??
"padding_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"player_count@play.text_icon_number_panel": {
// 오버라이드 가능한 변수
"$text_icon_number_text": "networkWorld.online",
// 오버라이드 가능한 변수
"$text_icon_number_icon": "#server_player_count_icon",
// 오버라이드 가능한 변수
"$text_icon_number_number": "#info_third_party_server_player_count",
// 오버라이드 가능한 변수
"$icon_size": [ 5, 5 ]
}
},
{
// ???/?? ??
"padding_3": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"ping@play.text_icon_number_panel": {
// 오버라이드 가능한 변수
"$text_icon_number_text": "networkWorld.current_ping",
// 오버라이드 가능한 변수
"$text_icon_number_icon": "#info_ping_texture_name",
// 오버라이드 가능한 변수
"$text_icon_number_number": "#info_server_ping",
// 오버라이드 가능한 변수
"$icon_size": [ 8, 8 ],
// 오버라이드 가능한 변수
"$ping_bindings": [
{
// 가져올 값 이름
"binding_name": "#ping_ready_thirdparty",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 오버라이드 가능한 변수
"$progress_panel": "play.small_progress_panel"
}
},
{
// ???/?? ??
"padding_4": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"join_server_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.connect_to_third_party_server",
// 오버라이드 가능한 변수
"$button_text": "networkWorld.join_server",
// 오버라이드 가능한 변수
"$focus_override_left": "left_panel",
// 가로/세로 크기
"size": [ "100%", 20 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"view_offers_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.view_third_party_server_offers",
// 오버라이드 가능한 변수
"$button_text": "networkWorld.view_offers",
// 오버라이드 가능한 변수
"$focus_override_left": "left_panel",
// 가로/세로 크기
"size": [ "100%", 20 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#view_offers_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"padding_5": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"screenshots_section@play.screenshots_section_panel": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#server_has_screenshots",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"description_section@play.description_section_panel": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#server_has_description",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"games_section@play.games_section_panel": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#server_has_games",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"news_section@play.news_section_panel": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#server_has_news",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"progress@progress.progress_loading_bars": {
// 가로/세로 크기
"size": [ "100% - 8px", 15 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 8 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// ?? (R,G,B,A)
"color": "$dark_button_default_text_color",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #is_server_info_available)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
},
// ???/?? ??
"text_icon_number_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", 10 ],
// 오버라이드 가능한 변수
"$ping_bindings|default": [],
// 오버라이드 가능한 변수
"$progress_bindings|default": [],
// 오버라이드 가능한 변수
"$progress_panel|default": "play.empty_panel",
// 오버라이드 가능한 변수
"$number_bindings|default": [
{
// 가져올 값 이름
"binding_name": "$text_icon_number_number"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 보여줄 글자
"text": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": [ "default", "default" ],
// ?? (R,G,B,A)
"color": "$main_header_text_color",
// ??
"font_type": "smooth",
// ?? ??
"text_alignment": "left",
// 보여줄 글자
"text": "$text_icon_number_text"
}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 3, "100%" ]
}
},
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": "$ping_bindings",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"icon_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": "$icon_size",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$text_icon_number_icon",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture"
}
]
}
}
]
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, "100%" ]
}
},
{
// ???/?? ??
"number": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": [ "default", "default" ],
// ?? (R,G,B,A)
"color": "$main_header_text_color",
// ??
"font_type": "smooth",
// ?? ??
"text_alignment": "left",
// 보여줄 글자
"text": "$text_icon_number_number",
// 게임 값과 연결하는 규칙 목록
"bindings": "$number_bindings"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"$progress_panel@$progress_panel": {}
}
]
},
// ???/?? ??
"grey_bar_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"grey_bar": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100% - 1px", "100%" ],
// 사용할 이미지 경로
"texture": "textures/ui/white_background",
"keep_ratio": false,
// 이미지 반복 여부
"tiled": true,
// ?? (R,G,B,A)
"color": "$servers_screenshot",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #this_screenshot_selected)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "server_screenshot_collection"
}
]
}
},
{
// ???/?? ??
"green_bar": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100% - 1px", "100%" ],
// 사용할 이미지 경로
"texture": "textures/ui/white_background",
"keep_ratio": false,
// 이미지 반복 여부
"tiled": true,
// ?? (R,G,B,A)
"color": "$servers_current_screenshot",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#this_screenshot_selected",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "server_screenshot_collection"
}
]
}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, "100%" ]
}
}
]
},
// ???/?? ??
"screenshots_section_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"divider_0@common.horizontal_divider": {}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// ???/?? ??
"screenshots_label": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": [ "100%", 11 ],
// ?? (R,G,B,A)
"color": "$body_text_color",
// 보여줄 글자
"text": "networkWorld.screenshots"
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// ???/?? ??
"screenshots": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", "56.25%x" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#screenshot_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture"
},
{
// 가져올 값 이름
"binding_name": "#third_party_server_logo_resource_location",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system"
},
{
// 가져올 값 이름
"binding_name": "#third_party_server_logo_resource_location",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 이름
"binding_collection_name": "server_games_collection"
}
]
}
},
{
// ???/?? ??
"padding_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 4 ]
}
},
{
// ???/?? ??
"navigation_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", 15 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"left_arrow_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.navigate_screenshots_left",
// 오버라이드 가능한 변수
"$button_content": "play.left_arrow_icon",
// 오버라이드 가능한 변수
"$focus_override_right": "right_arrow_button",
// 오버라이드 가능한 변수
"$focus_override_left": "left_panel",
// 가로/세로 크기
"size": [ 15, "100%" ]
}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, "100%" ]
}
},
{
// ???/?? ??
"navigation_bar": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "fill", 5 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"grey_bar": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 5 ],
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"grey_bar_factory_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100% - 1px", 3 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 목록 아이템을 자동으로 생성
"factory": {
"name": "grey_bar_factory",
// ??? ???
"control_name": "play.grey_bar_panel"
},
// 목록 이름
"collection_name": "server_screenshot_collection",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#screenshot_collection_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}
]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"right_arrow_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.navigate_screenshots_right",
// 오버라이드 가능한 변수
"$button_content": "play.right_arrow_icon",
// 오버라이드 가능한 변수
"$focus_id": "right_arrow_button",
// 가로/세로 크기
"size": [ 15, "100%" ]
}
}
]
}
},
{
// ???/?? ??
"padding_3": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
}
]
},
// ???/?? ??
"description_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 오버라이드 가능한 변수
"$description_max_size|default": [ "100% - 2px", 40 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"contents_description": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": [ "100% - 2px", "default" ],
"max_size": "$description_max_size",
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ?? (R,G,B,A)
"color": "$body_text_color",
// ??
"font_type": "smooth",
"enable_profanity_filter": false,
// 보여줄 글자
"text": "#description_label",
// ???/?? ??
"notify_on_ellipses": [
"description_read_more_button_panel"
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#description_label"
}
]
}
}
]
},
// ???/?? ??
"description_section_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"divider_0@common.horizontal_divider": {}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// ???/?? ??
"description_label": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": [ "100%", 11 ],
// ?? (R,G,B,A)
"color": "$body_text_color",
// 보여줄 글자
"text": "networkWorld.description"
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// ???/?? ??
"read_more_panel": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/screen_background",
// ???
"alpha": 0.6,
// 가로/세로 크기
"size": [ "100%", "100%c + 4px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"description_text_small@play.description_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 5px", "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#description_is_read_more",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"description_text_full@play.description_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 5px", "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ],
// 오버라이드 가능한 변수
"$description_max_size": [ "100% - 2px", "default" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#description_is_read_less",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"description_read_more_button_panel@common_buttons.read_button": {
// 오버라이드 가능한 변수
"$offset": [ -6, -2.5 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 오버라이드 가능한 변수
"$single_line_label_text": "store.mashup.readMore",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.description_read_toggle",
// 오버라이드 가능한 변수
"$focus_override_left": "left_panel",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#description_is_read_more",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 오버라이드 가능한 변수
"$bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#using_ellipses",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"description_read_less_button_panel@common_buttons.read_button": {
// 오버라이드 가능한 변수
"$offset": [ -6, -2.5 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 오버라이드 가능한 변수
"$single_line_label_text": "store.mashup.readLess",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.description_read_toggle",
// 오버라이드 가능한 변수
"$focus_override_left": "left_panel",
// 오버라이드 가능한 변수
"$bindings": [
{
// 가져올 값 이름
"binding_name": "#description_is_read_less",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
},
{
// ???/?? ??
"padding_3": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
}
]
},
// ???/?? ??
"games_factory_object": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"games_factory_panel": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 사용할 이미지 경로
"texture": "textures/ui/screen_background",
// ???
"alpha": 0.6,
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"top_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
"min_size": [ "100% - 8px", 30 ],
// 가로/세로 크기
"size": [ "100% - 8px", "100%cm" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"game_image_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
"min_size": [ "50%", 30 ],
// 가로/세로 크기
"size": [ "50%", "100%sm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"game_image": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#available_game_image",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "server_games_collection"
},
{
// 가져올 값 이름
"binding_name": "#available_game_image_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "server_games_collection"
},
{
// 가져올 값 이름
"binding_name": "#third_party_server_logo_resource_location",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system"
},
{
// 가져올 값 이름
"binding_name": "#third_party_server_logo_resource_location",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 이름
"binding_collection_name": "server_games_collection"
}
]
}
}
]
}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, "100%sm" ]
}
},
{
// ???/?? ??
"game_title_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
"min_size": [ "fill", 30 ],
// 가로/세로 크기
"size": [ "fill", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"game_title": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": [ "100%", "default" ],
// ?? (R,G,B,A)
"color": "$body_text_color",
// ??
"font_type": "smooth",
// 보여줄 글자
"text": "#available_game_title",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#available_game_title",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "server_games_collection"
}
]
}
},
{
// ???/?? ??
"game_subtitle": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": [ "100%", "default" ],
// ?? (R,G,B,A)
"color": "$body_text_color",
// ??
"font_type": "smooth",
// ?? ?? ??
"font_scale_factor": 0.8,
// 보여줄 글자
"text": "#available_game_subtitle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#available_game_subtitle",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "server_games_collection"
}
]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"bottom_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 8px", "100%c + 4px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"bottom_panel": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": [ "100%", "default" ],
// ?? (R,G,B,A)
"color": "$body_text_color",
// ??
"font_type": "smooth",
// ?? ?? ??
"font_scale_factor": 0.8,
// 보여줄 글자
"text": "#available_game_description",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#available_game_description",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "server_games_collection"
}
]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
}
]
},
// ???/?? ??
"games_section_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"divider_0@common.horizontal_divider": {}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// ???/?? ??
"description_label": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": [ "100%", 11 ],
// ?? (R,G,B,A)
"color": "$body_text_color",
// 보여줄 글자
"text": "networkWorld.available_games"
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// ???/?? ??
"games_factory_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100% - 2px", "100%c" ],
// 목록 아이템을 자동으로 생성
"factory": {
"name": "available_games_factory",
// ??? ???
"control_name": "play.games_factory_object"
},
// 목록 이름
"collection_name": "server_games_collection",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#games_collection_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}
]
}
},
{
// ???/?? ??
"padding_3": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
}
]
},
// ???/?? ??
"news_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 오버라이드 가능한 변수
"$news_max_size|default": [ "100% - 2px", 40 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"contents_news": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": [ "100% - 2px", "default" ],
"max_size": "$news_max_size",
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ?? (R,G,B,A)
"color": "$body_text_color",
// ??
"font_type": "smooth",
// ?? ?? ??
"font_scale_factor": 0.8,
"enable_profanity_filter": false,
// 보여줄 글자
"text": "#news_text",
// ???/?? ??
"notify_on_ellipses": [
"news_read_more_button_panel"
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#news_text"
}
]
}
}
]
},
// ???/?? ??
"news_section_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"divider_0@common.horizontal_divider": {}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// ???/?? ??
"news_label": {
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$body_text_color",
// 가로/세로 크기
"size": [ "100%", 11 ],
// 보여줄 글자
"text": "networkWorld.news"
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// ???/?? ??
"read_more_panel": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/screen_background",
// ???
"alpha": 0.6,
// 가로/세로 크기
"size": [ "100%", "100%c + 4px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"text_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100% - 7px", "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"news_title_text": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": [ "100%", 11 ],
// ?? (R,G,B,A)
"color": "$body_text_color",
// ??
"font_type": "smooth",
// 보여줄 글자
"text": "#news_label",
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#news_label"
}
]
}
},
{
// ???/?? ??
"divider_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 4 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"divider_0@common.horizontal_divider": {}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"news_text_small@play.news_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#news_is_read_more",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"news_text_full@play.news_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 오버라이드 가능한 변수
"$news_max_size": [ "100% - 2px", "default" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#news_is_read_less",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"news_read_more_button_panel@common_buttons.read_button": {
// 오버라이드 가능한 변수
"$offset": [ -6, -2.5 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 오버라이드 가능한 변수
"$single_line_label_text": "store.mashup.readMore",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.news_read_toggle",
// 오버라이드 가능한 변수
"$focus_override_left": "left_panel",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#news_is_read_more",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 오버라이드 가능한 변수
"$bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#using_ellipses",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"news_read_less_button_panel@common_buttons.read_button": {
// 오버라이드 가능한 변수
"$offset": [ -6, -2.5 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 오버라이드 가능한 변수
"$single_line_label_text": "store.mashup.readLess",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.news_read_toggle",
// 오버라이드 가능한 변수
"$focus_override_left": "left_panel",
// 오버라이드 가능한 변수
"$bindings": [
{
// 가져올 값 이름
"binding_name": "#news_is_read_less",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
},
{
// ???/?? ??
"padding_3": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
}
]
},
//---------------------------------------------------------------------------
// LOCAL WORLD GRID
//---------------------------------------------------------------------------
"divider": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White"
},
// ???/?? ??
"blue_diskspace_bar": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ??? ??
"clip_direction": "left",
// ?? ??
"clip_pixelperfect": false,
// ?? (R,G,B,A)
"color": "$world_diskspace_editions_fill"
},
// ???/?? ??
"green_diskspace_bar": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ??? ??
"clip_direction": "left",
// ?? ??
"clip_pixelperfect": false,
// ?? (R,G,B,A)
"color": "$world_diskspace_bedrock_fill"
},
// ???/?? ??
"empty_diskspace_bar": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$world_diskspace_empty"
},
// ???/?? ??
"legacy_world_content_status_area_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"world_storage_content_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"world_storage_separator@play.divider": {
// 가로/세로 크기
"size": [ "100% - 2px", "2px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 1 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ?? (R,G,B,A)
"color": "$light_glyph_default_color"
}
},
{
// ???/?? ??
"world_storage_information": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100% - 10px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"legacy_world_label": {
// 글자 표시
"type": "label",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ?? (R,G,B,A)
"color": "$dark_button_default_text_color",
// 보여줄 글자
"text": "playscreen.worldsStorage"
}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 4 ]
}
},
{
// ???/?? ??
"legacy_world_bar": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": [ "100% - 2px", 10 ],
// 기준점에서 이동하는 거리
"offset": [ 1, 1 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"local_diskspace_bar@play.green_diskspace_bar": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#local_worlds_storage_size",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#clip_ratio"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"legacy_diskspace_bar@play.blue_diskspace_bar": {
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#legacy_worlds_storage_size",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#clip_ratio"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"empty_diskspace_bar@play.empty_diskspace_bar": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", "100%" ]
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"world_list_text": {
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$dark_button_secondary_default_text_color",
"shadow": false
},
// 다른 템플릿을 가져와서 확장(상속)
"realm_screenshot@play.world_screenshot_base": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"picture": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 사용할 이미지 경로
"texture": "textures/ui/RealmDemoScreen",
// 가로/세로 크기
"size": [ "173.91%y", "100% - 2px" ],
// 기준점에서 이동하는 거리
"offset": [ 1, 1 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left"
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"local_world_name@play.world_list_text": {
// 보여줄 글자
"text": "#local_world_name",
"localize": false,
// ?? (R,G,B,A)
"color": "$text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#local_world_name",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "local_worlds"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"legacy_world_name@play.world_list_text": {
// 보여줄 글자
"text": "#legacy_world_name",
"localize": false,
// ?? (R,G,B,A)
"color": "$text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#legacy_world_name",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "legacy_worlds"
}
]
},
// local world copy protection indicator
"world_lock": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 6,
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 가로/세로 크기
"size": [ 8, 8 ],
// 사용할 이미지 경로
"texture": "textures/ui/lock"
},
// 다른 템플릿을 가져와서 확장(상속)
"local_world_game_mode@play.world_list_text": {
// 보여줄 글자
"text": "#local_world_game_mode",
// ?? (R,G,B,A)
"color": "$secondary_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#local_world_game_mode",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "local_worlds"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"legacy_world_game_mode@play.world_list_text": {
// 보여줄 글자
"text": "#legacy_world_game_mode",
// ?? (R,G,B,A)
"color": "$secondary_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#legacy_world_game_mode",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "legacy_worlds"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"local_world_date@play.world_list_text": {
// 보여줄 글자
"text": "#local_world_date",
// ?? (R,G,B,A)
"color": "$secondary_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#local_world_date",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "local_worlds"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"legacy_world_date@play.world_list_text": {
// 보여줄 글자
"text": "#legacy_world_date",
// ?? (R,G,B,A)
"color": "$secondary_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#legacy_world_date",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "legacy_worlds"
},
{
// 가져올 값 이름
"binding_name": "#legacy_world_date_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "legacy_worlds"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"local_world_filesize@play.world_list_text": {
// 보여줄 글자
"text": "#local_worldfile_size",
// ?? (R,G,B,A)
"color": "$secondary_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#local_worldfile_size",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "local_worlds"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"legacy_world_filesize@play.world_list_text": {
// 보여줄 글자
"text": "#legacy_worldfile_size",
// ?? (R,G,B,A)
"color": "$secondary_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#legacy_worldfile_size",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "legacy_worlds"
}
]
},
// ???/?? ??
"local_world_connected_storage": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"local_and_cloud@play.local_and_cloud_storage": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#local_and_cloud_storage_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "local_worlds"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"local_only@play.local_only_storage": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#local_only_storage_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "local_worlds"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"cloud_only@play.cloud_only_storage": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#cloud_only_storage_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "local_worlds"
}
]
}
}
]
},
// ???/?? ??
"local_world_lock_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"lock@play.world_lock": {
// 기준점에서 이동하는 거리
"offset": [ 0, 1 ]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#world_lock_visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 이름
"binding_collection_name": "local_worlds"
}
]
},
// ???/?? ??
"realms_plus_banner": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100% + 4px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_banner@realmsPlus.markdown_background": {
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 오버라이드 가능한 변수
"$triangle_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$banner_size": [ "100%c - 4px", "100% - 2px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 9
}
}
],
// 오버라이드 가능한 변수
"$banner_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_icon@common_store.realms_banner_icon": {}
},
{
// ???/?? ??
"pad_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, "100%" ]
}
},
{
// ???/?? ??
"pad_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 5, "100%" ]
}
}
]
},
// ???/?? ??
"local_world_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"text_indent": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 4px", "100% - 4px" ],
// 기준점에서 이동하는 거리
"offset": [ 1, 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"top_side": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "50%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"local_world_name@play.local_world_name": {
// 가로/세로 크기
"size": [ "fill", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"lock_1@play.local_world_lock_panel": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"local_world_date@play.local_world_date": {
// 가로/세로 크기
"size": [ "default", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
},
{
// ???/?? ??
"bottom_side": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "50%" ],
// 기준점에서 이동하는 거리
"offset": [ -2, 1 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_plus_icon@play.realms_plus_banner": {
// 가로/세로 크기
"size": [ "100%c", 12 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "local_worlds",
// 가져올 값 이름
"binding_name": "#realms_chevron_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"pad": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 3, "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"local_world_game_mode@play.local_world_game_mode": {
// 가로/세로 크기
"size": [ "fill", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"local_world_connected_storage@play.local_world_connected_storage": {
// 가로/세로 크기
"size": [ 16, 8 ],
// 보이기/숨기기(공간 유지)
"visible": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"local_world_filesize@play.local_world_filesize": {
// 가로/세로 크기
"size": [ "default", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"legacy_world_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"text_indent": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 4px", "100% - 4px" ],
// 기준점에서 이동하는 거리
"offset": [ 1, 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"top_side": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "50%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"legacy_world_name@play.legacy_world_name": {
// 가로/세로 크기
"size": [ "fill", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"legacy_world_date@play.legacy_world_date": {
// 가로/세로 크기
"size": [ "default", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
},
{
// ???/?? ??
"bottom_side": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "50%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"legacy_world_game_mode@play.legacy_world_game_mode": {
// 가로/세로 크기
"size": [ "fill", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"legacy_world_filesize@play.legacy_world_filesize": {
// 가로/세로 크기
"size": [ "default", 10 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"beta_retail_world_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"text_indent": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 6px", "100% - 4px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"top_side": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "50%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"beta_retail_world_name@play.world_list_text": {
// 보여줄 글자
"text": "$beta_retail_world_name_binding_name",
// 가로/세로 크기
"size": [ "fill", 10 ],
// ?? (R,G,B,A)
"color": "$text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$beta_retail_collection_name",
// 가져올 값 이름
"binding_name": "$beta_retail_world_name_binding_name"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"beta_retail_world_date@play.world_list_text": {
// 보여줄 글자
"text": "$beta_retail_world_date_binding_name",
// 가로/세로 크기
"size": [ "default", 10 ],
// ?? (R,G,B,A)
"color": "$secondary_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$beta_retail_collection_name",
// 가져올 값 이름
"binding_name": "$beta_retail_world_date_binding_name"
}
]
}
}
]
}
},
{
// ???/?? ??
"bottom_side": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "50%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"beta_retail_world_game_mode@play.world_list_text": {
// 보여줄 글자
"text": "$beta_retail_world_game_mode_binding_name",
// 가로/세로 크기
"size": [ "fill", 10 ],
// ?? (R,G,B,A)
"color": "$secondary_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$beta_retail_collection_name",
// 가져올 값 이름
"binding_name": "$beta_retail_world_game_mode_binding_name"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"beta_retail_world_filesize@play.world_list_text": {
// 보여줄 글자
"text": "$beta_retail_world_filesize_binding_name",
// 가로/세로 크기
"size": [ "default", 10 ],
// ?? (R,G,B,A)
"color": "$secondary_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$beta_retail_collection_name",
// 가져올 값 이름
"binding_name": "$beta_retail_world_filesize_binding_name"
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"world_content_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$default_state",
// 오버라이드 가능한 변수
"$border_texture": "textures/ui/default_indent"
},
{
// 이 조건이 맞으면 적용
"requires": "$hover_state",
// 오버라이드 가능한 변수
"$border_texture": "textures/ui/world_screenshot_focus_border"
},
{
// 이 조건이 맞으면 적용
"requires": "$pressed_state",
// 오버라이드 가능한 변수
"$border_texture": "textures/ui/world_screenshot_focus_border"
},
{
// 이 조건이 맞으면 적용
"requires": "$locked_state",
// 오버라이드 가능한 변수
"$border_texture": "textures/ui/default_indent"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"world_screenshot@play.collection_world_screenshot": {
// 오버라이드 가능한 변수
"$collection_binding_name": "$worlds_collection_name",
// 오버라이드 가능한 변수
"$image_binding_name": "$world_image_binding_name",
// 오버라이드 가능한 변수
"$supports_realmsplus_overlay": "$world_supports_realmsplus_overlay",
// 오버라이드 가능한 변수
"$texture_source_binding_name": "$world_texture_source_binding_name"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"world_text_panel@$world_text_panel_control": {
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"local_world_item_button@common_buttons.dark_content_button": {
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($local_world_upload)",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.local_world_upload"
},
{
// 이 조건이 맞으면 적용
"requires": "(not $local_world_upload)",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_start_local_world"
}
],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_start_local_world",
// 오버라이드 가능한 변수
"$worlds_collection_name": "local_worlds",
// 오버라이드 가능한 변수
"$world_image_binding_name": "#local_world_image",
// 오버라이드 가능한 변수
"$world_supports_realmsplus_overlay": true,
// 오버라이드 가능한 변수
"$world_texture_source_binding_name": "#local_world_texture_source",
// 오버라이드 가능한 변수
"$world_text_panel_control": "play.local_world_text_panel",
// 오버라이드 가능한 변수
"$button_content": "play.world_content_panel",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "local_worlds"
},
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져올 값 이름
"binding_name": "#world_button_focus_identifier",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#focus_identifier",
// 목록 이름
"binding_collection_name": "local_worlds"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"legacy_world_item_button@common_buttons.dark_content_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.convert_legacy_world",
// 오버라이드 가능한 변수
"$worlds_collection_name": "legacy_worlds",
// 오버라이드 가능한 변수
"$world_image_binding_name": "#legacy_world_image",
// 오버라이드 가능한 변수
"$world_supports_realmsplus_overlay": false,
// 오버라이드 가능한 변수
"$world_texture_source_binding_name": "#legacy_world_texture_source",
// 오버라이드 가능한 변수
"$world_text_panel_control": "play.legacy_world_text_panel",
// 오버라이드 가능한 변수
"$button_content": "play.world_content_panel",
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "focused"
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "legacy_worlds"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"beta_retail_world_item_button@common_buttons.dark_content_button": {
// 오버라이드 가능한 변수
"$worlds_collection_name": "$beta_retail_collection_name",
// 오버라이드 가능한 변수
"$world_image_binding_name": "$beta_retail_world_image",
// 오버라이드 가능한 변수
"$world_supports_realmsplus_overlay": false,
// 오버라이드 가능한 변수
"$world_texture_source_binding_name": "$beta_retail_world_texture_source",
// 오버라이드 가능한 변수
"$world_text_panel_control": "play.beta_retail_world_text_panel",
// 오버라이드 가능한 변수
"$button_content": "play.world_content_panel",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$beta_retail_collection_name"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"local_world_edit_button@common_buttons.dark_glyph_button": {
// 가로/세로 크기
"size": [ "100%y - 1px", "100%" ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_local_world_item_edit",
// 오버라이드 가능한 변수
"$button_content": "play.edit_icon",
// 오버라이드 가능한 변수
"$button_tts_header": "accessibility.play.editWorld",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "local_worlds"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"cloud_upload_button@common_buttons.dark_glyph_button": {
// 가로/세로 크기
"size": [ "100%y - 1px", "100%" ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.cloud_upload",
// 오버라이드 가능한 변수
"$button_content": "play.upload_icon",
// 오버라이드 가능한 변수
"$button_tts_header": "accessibility.play.uploadWorld",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "local_worlds"
}
]
},
// ???/?? ??
"cloud_upload_and_edit_world_stack_panel": {
// 가로/세로 크기
"size": [ "100%c - 2px", "100%" ],
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"cloud@play.cloud_upload_button": {
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "local_worlds"
},
{
// 가져올 값 이름
"binding_name": "#cloud_upload_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"edit@play.local_world_edit_button": {}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"legacy_world_delete_button@common_buttons.dark_glyph_button": {
// 가로/세로 크기
"size": [ "100%y - 1px", "100%" ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_legacy_world_item_delete",
// 오버라이드 가능한 변수
"$button_content": "play.delete_icon",
// 오버라이드 가능한 변수
"$button_tts_header": "accessibility.play.legacyWorldsDelete",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "legacy_worlds"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"legacy_world_migrate_button@common_buttons.dark_glyph_button": {
// 가로/세로 크기
"size": [ "100%y - 1px", "100%" ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_legacy_world_item_migrate",
// 오버라이드 가능한 변수
"$button_content": "play.world_download_icon",
// 오버라이드 가능한 변수
"$button_tts_header": "accessibility.play.importWorld",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "legacy_worlds"
}
]
},
// ???/?? ??
"local_world_item": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", 29 ],
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 오버라이드 가능한 변수
"$local_world_edit_button_visible|default": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"header_button_panel@play.header_button_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", "100% + 1px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 오버라이드 가능한 변수
"$primary_header_button": "play.local_world_item_button",
// 오버라이드 가능한 변수
"$secondary_header_button": "play.cloud_upload_and_edit_world_stack_panel",
// 오버라이드 가능한 변수
"$secondary_visible": "$local_world_edit_button_visible"
}
}
]
},
// ???/?? ??
"legacy_world_item": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", 29 ],
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"header_button_panel_with_delete@play.header_button_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $legacy_worlds_share_storage)",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", "100% + 1px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 오버라이드 가능한 변수
"$primary_header_button": "play.legacy_world_item_button",
// 오버라이드 가능한 변수
"$secondary_header_button": "play.legacy_world_delete_button"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"header_button_panel_with_migrate@play.header_button_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $legacy_worlds_supports_migration)",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", "100% + 1px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 오버라이드 가능한 변수
"$primary_header_button": "play.legacy_world_item_button",
// 오버라이드 가능한 변수
"$secondary_header_button": "play.legacy_world_migrate_button"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"header_button_panel_no_delete@play.header_single_button_panel": {
// 완전히 제거(공간도 없음)
"ignored": "($legacy_worlds_share_storage or $legacy_worlds_supports_migration)",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", "100% + 1px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 오버라이드 가능한 변수
"$primary_header_button": "play.legacy_world_item_button"
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"beta_retail_world_item@play.header_single_button_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", 30 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 오버라이드 가능한 변수
"$primary_header_button": "play.beta_retail_world_item_button"
},
// 다른 템플릿을 가져와서 확장(상속)
"local_world_item_grid@play.world_item_grid_base": {
// 오버라이드 가능한 변수
"$world_item_grid_template|default": "play.local_world_item",
"grid_item_template": "$world_item_grid_template",
"grid_dimension_binding": "#local_world_item_grid_dimension",
// 목록 이름
"collection_name": "local_worlds",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#local_world_item_grid_dimension"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"legacy_world_item_grid@play.world_item_grid_base": {
"grid_item_template": "play.legacy_world_item",
"grid_dimension_binding": "#legacy_world_item_grid_dimension",
// 목록 이름
"collection_name": "legacy_worlds",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#legacy_world_item_grid_dimension"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"beta_retail_local_world_item_grid@play.world_item_grid_base": {
"grid_item_template": "play.beta_retail_world_item",
"grid_dimension_binding": "#beta_retail_local_world_item_grid_dimension",
// 목록 이름
"collection_name": "beta_retail_local_worlds",
// 오버라이드 가능한 변수
"$beta_retail_collection_name": "beta_retail_local_worlds",
// 오버라이드 가능한 변수
"$beta_retail_world_name_binding_name": "#beta_retail_local_world_name",
// 오버라이드 가능한 변수
"$beta_retail_world_date_binding_name": "#beta_retail_local_world_date",
// 오버라이드 가능한 변수
"$beta_retail_world_game_mode_binding_name": "#beta_retail_local_world_game_mode",
// 오버라이드 가능한 변수
"$beta_retail_world_filesize_binding_name": "#beta_retail_local_world_filesize",
// 오버라이드 가능한 변수
"$beta_retail_world_image": "#beta_retail_local_world_image",
// 오버라이드 가능한 변수
"$beta_retail_world_texture_source": "#beta_retail_local_world_texture_source",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.import_beta_retail_local_world",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#beta_retail_local_world_item_grid_dimension"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"beta_retail_legacy_world_item_grid@play.world_item_grid_base": {
"grid_item_template": "play.beta_retail_world_item",
"grid_dimension_binding": "#beta_retail_legacy_world_item_grid_dimension",
// 목록 이름
"collection_name": "beta_retail_legacy_worlds",
// 오버라이드 가능한 변수
"$beta_retail_collection_name": "beta_retail_legacy_worlds",
// 오버라이드 가능한 변수
"$beta_retail_world_name_binding_name": "#beta_retail_legacy_world_name",
// 오버라이드 가능한 변수
"$beta_retail_world_date_binding_name": "#beta_retail_legacy_world_date",
// 오버라이드 가능한 변수
"$beta_retail_world_game_mode_binding_name": "#beta_retail_legacy_world_game_mode",
// 오버라이드 가능한 변수
"$beta_retail_world_filesize_binding_name": "#beta_retail_legacy_world_filesize",
// 오버라이드 가능한 변수
"$beta_retail_world_image": "#beta_retail_legacy_world_image",
// 오버라이드 가능한 변수
"$beta_retail_world_texture_source": "#beta_retail_legacy_world_texture_source",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.import_beta_retail_legacy_world",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#beta_retail_legacy_world_item_grid_dimension"
}
]
},
//---------------------------------------------------------------------------
// Buttons
//---------------------------------------------------------------------------
// 다른 템플릿을 가져와서 확장(상속)
"common_button_template@common_buttons.light_glyph_button": {},
// ???/?? ??
"common_button_text": {
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$tab_secondary_unchecked_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"shadow": false,
// 보여줄 글자
"text": "$common_button_text_text"
},
// ???/?? ??
"add_friend_and_invite_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"add_friend_button@play.add_friend_button": {
// 완전히 제거(공간도 없음)
"ignored": "((not $supports_add_friend) or $nx_os or $is_ps4)",
// 가로/세로 크기
"size": [ "fill", 30 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#add_friend_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#cross_platform_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled"
}
]
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 0 ],
// 완전히 제거(공간도 없음)
"ignored": "((not $supports_add_friend) or $nx_os or $is_ps4)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"join_by_code_button@play.join_by_code_button": {
// 완전히 제거(공간도 없음)
"ignored": "$is_editor_mode_enabled",
// 가로/세로 크기
"size": [ "fill", 30 ]
}
},
{
// ???/?? ??
"padding_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#realms_notification_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// ???/?? ??
"notification_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "13%", 30 ],
// 보이기/숨기기(공간 유지)
"visible": "#realms_notification_button_visible",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"notification_button@play.notification_button": {
// 오버라이드 가능한 변수
"$button_content": "play.notification_content",
// 오버라이드 가능한 변수
"$button_tts_header": "realmsInvitationScreen.shareTitle",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#realms_notification_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"add_friend_button@common_buttons.light_text_button": {
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_network_add_friend",
// 오버라이드 가능한 변수
"$button_text": "networkWorld.add_friend",
// 오버라이드 가능한 변수
"$button_focus_precedence": 10,
// 오버라이드 가능한 변수
"$focus_override_up": "close_button"
},
// 다른 템플릿을 가져와서 확장(상속)
"join_by_code_button@common_buttons.light_text_button": {
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 오버라이드 가능한 변수
"$button_text": "networkWorld.joinByCode",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_network_join_by_code",
// 오버라이드 가능한 변수
"$button_focus_precedence": 10,
// 오버라이드 가능한 변수
"$focus_override_up": "close_button",
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "focused"
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#join_by_code_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#cross_platform_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"add_server_toggle_button@common_toggles.light_text_toggle": {
// 보이기/숨기기(공간 유지)
"visible": "(not $ignore_add_servers)",
// 가로/세로 크기
"size": [ "100%", 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 오버라이드 가능한 변수
"$button_text": "networkWorld.add_server",
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "server_navigation_toggle",
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "add_server_toggle_button",
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#toggle_state",
// 오버라이드 가능한 변수
"$toggle_on_hover_binding_name": "none",
// 오버라이드 가능한 변수
"$toggle_tab_focus_binding_type": "global",
// 오버라이드 가능한 변수
"$toggle_tab_focus_binding_name": "#navigation_tab_focus_precedence",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 100,
// 오버라이드 가능한 변수
"$focus_override_up": "left_panel",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#add_server_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"server_toggle_base@common_toggles.dark_image_toggle_collection": {
// 가로/세로 크기
"size": [ "100%", "100% - 2px" ],
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$focus_override_right|default": "right_panel",
// 오버라이드 가능한 변수
"$toggle_name": "server_navigation_toggle",
// 오버라이드 가능한 변수
"$toggle_grid_collection_name": "$collection_name",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$toggle_index_binding_name",
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#toggle_state",
// 오버라이드 가능한 변수
"$toggle_tab_focus_binding_type": "global",
// 오버라이드 가능한 변수
"$toggle_tab_focus_binding_name": "#navigation_tab_focus_precedence",
// 오버라이드 가능한 변수
"$toggle_on_hover_binding_type": "global",
// 오버라이드 가능한 변수
"$toggle_on_hover_binding_name": "#toggle_on_hover",
// 오버라이드 가능한 변수
"$focus_override_right": "right_side",
// 오버라이드 가능한 변수
"$button_content": "play.server_button_content_panel",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$collection_name"
},
{
// 가져올 값 이름
"binding_name": "#cross_platform_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled"
},
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져올 값 이름
"binding_name": "#is_server_info_available_collection",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled",
// 목록 이름
"binding_collection_name": "$collection_name"
},
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져올 값 이름
"binding_name": "$toggle_index_binding_name",
// 목록 이름
"binding_collection_name": "$collection_name"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"quick_play_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_quick_play",
// 오버라이드 가능한 변수
"$button_text": "menu.quickplay",
// 포커스 이동용 ID
"focus_identifier": "quick_play_button",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// 다른 템플릿을 가져와서 확장(상속)
"create_new_world_button@common_buttons.light_text_button": {
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($local_world_upload)",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.new_world_upload"
},
{
// 이 조건이 맞으면 적용
"requires": "(not $local_world_upload)",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_local_world_create"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_editor_mode_enabled",
// 오버라이드 가능한 변수
"$button_text": "playscreen.editor.create"
}
],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 오버라이드 가능한 변수
"$button_text": "selectWorld.createNew",
// 오버라이드 가능한 변수
"$button_focus_precedence": 1,
// 오버라이드 가능한 변수
"$create_new_row_focus_override_up|default": "close_button",
// 오버라이드 가능한 변수
"$focus_override_up": "$create_new_row_focus_override_up",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"create_on_realms_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%cm" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"create_on_realms_button@settings_common.action_button_dark_text": {
// 가로/세로 크기
"size": [ "100%", 29 ],
// 오버라이드 가능한 변수
"$button_text": "createWorldScreen.createOnRealms",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.create_on_realms_button",
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/realmsContent",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/realmsContentHover",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/realmsContentPressed",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#create_on_realms_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"import_world_button@play.common_button_template": {
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($local_world_upload)",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.archived_world_upload"
},
{
// 이 조건이 맞으면 적용
"requires": "(not $local_world_upload)",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_import_level"
}
],
// 오버라이드 가능한 변수
"$button_tts_header": "accessibility.play.importWorld",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$button_content": "play.import_icon",
// 오버라이드 가능한 변수
"$button_size_override": [ "100% + 1px", "100%" ],
// 오버라이드 가능한 변수
"$button_background_anchor": "top_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 오버라이드 가능한 변수
"$create_new_row_focus_override_up|default": "close_button",
// 오버라이드 가능한 변수
"$focus_override_up": "$create_new_row_focus_override_up",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#worlds_tab_import_button_focus_down_override",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#focus_change_down"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"sync_legacy_worlds_button@common_buttons.light_text_button": {
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_sync_legacy_worlds",
// 오버라이드 가능한 변수
"$button_text": "#sync_legacy_button_text",
// 오버라이드 가능한 변수
"$button_text_binding_type": "global",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#sync_legacy_worlds_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// ???/?? ??
"notification_button_text_layout": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점에서 이동하는 거리
"offset": "$button_offset",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"image1@play.invite_icon": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #inbox_enabled)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"image2@play.bell_icon": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#inbox_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"count@start.notification_button_text_panel": {
// 기준점에서 이동하는 거리
"offset": [ -0.5, 0 ]
}
}
]
},
// ???/?? ??
"notification_button_label_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "70%", "100%" ],
// 기준점에서 이동하는 거리
"offset": "$button_offset",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"notification_button_label": {
// 글자 표시
"type": "label",
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// ?? (R,G,B,A)
"color": "$text_color",
// 가로/세로 크기
"size": [ "100%", 10 ],
// 보여줄 글자
"text": "$label_text"
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"notification_content@play.notification_button_text_layout": {},
// 다른 템플릿을 가져와서 확장(상속)
"notification_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_invite_notification",
// 오버라이드 가능한 변수
"$button_content": "play.notification_content",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 오버라이드 가능한 변수
"$button_offset|default": [ 0, 0 ],
// 오버라이드 가능한 변수
"$focus_override_down": "friends_realms_world_button_0",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#friends_tab_invitation_button_focus_down_override",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#focus_change_down"
}
]
},
// ???/?? ??
"header_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"buttons": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$secondary_visible|default": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"primary_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"primary@$primary_header_button": {
// 가로/세로 크기
"size": [ "100% - 1px", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"secondary@$secondary_header_button": {
// 보이기/숨기기(공간 유지)
"visible": "$secondary_visible",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
}
]
},
// ???/?? ??
"header_button_panel_opt_in": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"buttons": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$secondary_visible|default": true,
// 오버라이드 가능한 변수
"$ternary_visible|default": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"primary_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"primary@$primary_header_button": {
// 가로/세로 크기
"size": [ "100% - 1px", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"secondary@$secondary_header_button": {
// 보이기/숨기기(공간 유지)
"visible": "$secondary_visible",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"ternary@$ternary_header_button": {
// 보이기/숨기기(공간 유지)
"visible": "$ternary_visible",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
}
]
},
// ???/?? ??
"header_single_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"buttons": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"primary@$primary_header_button": {
// 가로/세로 크기
"size": [ "100% + 1px", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"open_account_setting_button_gamecore@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.open_account_setting_gamecore",
// 오버라이드 가능한 변수
"$button_text": "permissions.open.account.help.button.gamecore",
// 가로/세로 크기
"size": [ "100%", 30 ],
// 보이기/숨기기(공간 유지)
"visible": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#open_account_setting_button_gamecore_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
//---------------------------------------------------------------------------
// Scroll panes
//---------------------------------------------------------------------------
"common_scroll_pane": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": [ "100%-4px", "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ]
},
// 다른 템플릿을 가져와서 확장(상속)
"worlds_scroll_panel@play.common_scroll_pane": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"worlds_list_stack_panel@play.worlds_stack_panel": {}
}
]
},
// ???/?? ??
"game_tip_item_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100% - 8px", "100%cm + 6px" ],
// 오버라이드 가능한 변수
"$game_tip_text|default": "",
// 오버라이드 가능한 변수
"$label_text": "$game_tip_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"info_bulb": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 13,
// 가로/세로 크기
"size": [ 15, 19 ],
// 사용할 이미지 경로
"texture": "textures/ui/infobulb"
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 0 ]
}
},
{
// ???/?? ??
"label_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "fill", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_vertical": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 1 ]
}
},
{
// ???/?? ??
"realms_warning_text": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": [ "100%", "default" ],
// 오버라이드 가능한 변수
"$label_text|default": "#label_text",
// 오버라이드 가능한 변수
"$label_text_binding_type|default": "global",
// 보여줄 글자
"text": "$label_text",
// ?? (R,G,B,A)
"color": "$body_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$label_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "$label_text",
// 바인딩 종류(변수로 관리되는 경우도 있음)
"binding_type": "$label_text_binding_type"
}
]
}
},
{
// ???/?? ??
"padding_vertical_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 1 ]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"more_info_button@common_buttons.light_text_form_fitting_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.realms_warning_more_info",
// 오버라이드 가능한 변수
"$button_text": "playscreen.realmsWarning.moreinfo"
}
}
]
},
// ???/?? ??
"realm_warning_tip": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/greyBorder",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", "100%cm" ],
// 오버라이드 가능한 변수
"$realms_warning_text|default": "#realms_warning_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_vertical": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 8 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"info_panel@play.game_tip_item_panel": {
// 오버라이드 가능한 변수
"$game_tip_text": "$realms_warning_text",
// 기준점에서 이동하는 거리
"offset": [ 0, 4 ]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#device_sunsetting",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
// ???/?? ??
"new_ui_switch_button_options_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 완전히 제거(공간도 없음)
"ignored": "$education_edition",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "50% - 10px", "100%c + 4px" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#show_new_play_screen_opt_in",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"unlock_template_options_button@settings_common.action_button": {
// 가로/세로 크기
"size": [ "100% - 1px", 30 ],
// 오버라이드 가능한 변수
"$button_text": "options.newUiPlayScreen.initiate",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.switch_to_new_ui"
}
}
]
},
// ???/?? ??
"new_ui_servers_switch_button_options_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 완전히 제거(공간도 없음)
"ignored": "$education_edition",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#show_new_play_screen_servers_opt_in",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"unlock_template_options_button@settings_common.action_button": {
// 가로/세로 크기
"size": [ "100% - 1px", 30 ],
// 오버라이드 가능한 변수
"$button_text": "options.newUiPlayScreen.initiate",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.switch_to_new_ui_servers"
}
},
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
}
]
},
// ???/?? ??
"worlds_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"play_screen_warning@play.realm_warning_tip": {}
},
{
// ???/?? ??
"header_button": {
// we don't support importing or creating a new world for realm upload yet
"ignored": "$local_world_upload",
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", "100%c + 4px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"quick_play@play.quick_play_button": {
// 완전히 제거(공간도 없음)
"ignored": "(not $education_edition)",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 0.5 to line up with the button panel below
"size": [ "100% + 0.5px", 30 ],
// 오버라이드 가능한 변수
"$focus_override_up": "close_button"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"buttons@play.header_button_panel_opt_in": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", 30 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 오버라이드 가능한 변수
"$primary_header_button": "create_new_world_button",
// 오버라이드 가능한 변수
"$secondary_header_button": "new_ui_switch_button_options_panel",
// 오버라이드 가능한 변수
"$ternary_header_button": "import_world_button",
// 오버라이드 가능한 변수
"$ternary_visible": "$world_archive_support"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"worlds_crossplatform_disabled_panel@play.crossplatform_disabled_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $is_realms_enabled)",
// 오버라이드 가능한 변수
"$cross_platform_information_text": "crossPlatformToggle.crossPlatformDisabled.realms"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"worlds_crossplatform_disable_spacer@play.crossplatform_disable_spacer": {
// 완전히 제거(공간도 없음)
"ignored": "(not $is_realms_enabled)"
}
},
{
// ???/?? ??
"realms_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $is_realms_enabled)",
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#personal_realms_grid_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "(not $pre_release)",
// 오버라이드 가능한 변수
"$tts_section_header": "playscreen.realms"
},
{
// 이 조건이 맞으면 적용
"requires": "($pre_release and not $beta_build)",
// 오버라이드 가능한 변수
"$tts_section_header": "playscreen.previewRealms"
},
{
// 이 조건이 맞으면 적용
"requires": "($pre_release and $beta_build)",
// 오버라이드 가능한 변수
"$tts_section_header": "playscreen.betaRealms"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_label@play.world_list_label_panel": {
// 완전히 제거(공간도 없음)
"ignored": "$world_picker_screen",
// 오버라이드 가능한 변수
"$label_text": "$tts_section_header",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#realm_label_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"sign_in_to_view_realms_button@play.sign_in_to_view_realms_button": {}
},
{
// ???/?? ??
"realms_previews_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 30 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#free_preview_realm_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"new_offers_icon@common_store.new_offer_icon": {
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#free_preview_realm_new_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_world_item_button@common_buttons.dark_content_button": {
// 가로/세로 크기
"size": [ "100%", 30 ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.free_preview_realm_available",
// 오버라이드 가능한 변수
"$button_content": "play.realms_trial_content_panel",
// 오버라이드 가능한 변수
"$button_content_text": "#free_preview_realm_available",
// 오버라이드 가능한 변수
"$world_details_text": "playscreen.withYourPaidRealms",
// 오버라이드 가능한 변수
"$text_binding_condition": "once",
// 오버라이드 가능한 변수
"$world_header_text_binding_type": "global",
// 오버라이드 가능한 변수
"$world_details_text_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "free_preview_realm_available_button"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"create_on_realms_button_panel@play.create_on_realms_button_panel": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"personal_realms@play.realms_world_item_grid": {
// 완전히 제거(공간도 없음)
"ignored": "$world_picker_screen",
// 오버라이드 가능한 변수
"$grid_name": "#personal_realms_grid_dimension",
// 오버라이드 가능한 변수
"$realms_worlds_collection_name": "personal_realms",
// 오버라이드 가능한 변수
"$grid_item_layout": "play.realms_world_item"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"placeholder_personal_realms_panel@play.label_background": {
// 가로/세로 크기
"size": [ "100%", "100%c - 12px" ],
"min_size": [ "100%", 39 ], // Grid item size is 29 + 10 for label, grid items overdraw by 1px
// 완전히 제거(공간도 없음)
"ignored": "$world_picker_screen",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"placeholder_loading_personal_realms": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 가로/세로 크기
"size": [ "100%", "default" ],
// 목록 이름
"collection_name": "loading_personal_realms",
"grid_item_template": "play.empty_grid",
"grid_dimension_binding": "#loading_personal_realms_grid_dimension",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#loading_personal_realms_grid_dimension"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"loading_friends_realms_label@play.loading_label": {
// 오버라이드 가능한 변수
"$message_binding_name": "#realms_loading_display_message"
}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 4 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"progress_loading_bars@play.progress_loading_bars": {}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#loading_personal_realms_grid_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
// This is to emulate the sizing behavior of the Realms grid which overdraws by 1 pixel to create a single stroke border
{
// ???/?? ??
"realms_trial_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 29 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_world_item_button@common_buttons.dark_content_button": {
// 가로/세로 크기
"size": [ "100%", 30 ],
// 완전히 제거(공간도 없음)
"ignored": "$world_picker_screen",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_realm_world_trial",
// 오버라이드 가능한 변수
"$button_content": "play.realms_trial_content_panel",
// 오버라이드 가능한 변수
"$button_content_text": "#realms_trial_text",
// 오버라이드 가능한 변수
"$world_details_text": "playscreen.realmsTrialWorld",
// 오버라이드 가능한 변수
"$text_binding_condition": "once",
// 오버라이드 가능한 변수
"$world_header_text_binding_type": "global",
// 오버라이드 가능한 변수
"$world_details_text_binding_type": "none",
// 오버라이드 가능한 변수
"$focus_id": "realms_trial_button",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#cross_platform_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "#realm_trial_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"realms_nintendo_first_realm_purchase_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 29 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_world_item_button@common_buttons.dark_content_button": {
// 가로/세로 크기
"size": [ "100%", 30 ],
// 완전히 제거(공간도 없음)
"ignored": "$world_picker_screen",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_realm_nintendo_first_realm_purchase_button",
// 오버라이드 가능한 변수
"$button_content": "play.realms_trial_content_panel",
// 오버라이드 가능한 변수
"$button_content_text": "playscreen.realmsCreateFirstWorld",
// 오버라이드 가능한 변수
"$focus_id": "realms_trial_button"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "#realm_nintendo_first_realm_purchase_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 4 ]
}
}
]
}
},
{
// ???/?? ??
"realms_multiplayer_blocked_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $is_realms_enabled)",
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#multiplayer_blocked_panel_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"text_panel@play.label_content_template": {
// 오버라이드 가능한 변수
"$label_content_label": "playscreen.header.realms",
// 오버라이드 가능한 변수
"$label_content_content": "play.information_panel",
// 오버라이드 가능한 변수
"$information_panel_label_text": "#multiplayer_sessions",
// 오버라이드 가능한 변수
"$information_panel_label_text_binding_type": "global",
// 오버라이드 가능한 변수
"$information_panel_label_text_binding_condition": "always_when_visible"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"open_uri_button@play.open_account_setting_button": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"open_account_setting_button_gamecore@play.open_account_setting_button_gamecore": {}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"worlds_label@play.world_list_label_with_color_panel": {
// 오버라이드 가능한 변수
"$label_text": "playscreen.worlds",
// 오버라이드 가능한 변수
"$square_color": "$world_diskspace_bedrock_fill",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($pre_release and not $is_editor_mode_enabled)",
// 오버라이드 가능한 변수
"$label_text": "playscreen.beta_worlds"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_editor_mode_enabled",
// 오버라이드 가능한 변수
"$label_text": "playscreen.editor.worlds"
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#local_worlds_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"grid@play.local_world_item_grid": {
// 오버라이드 가능한 변수
"$tts_section_header": "playscreen.worlds",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$pre_release",
// 오버라이드 가능한 변수
"$tts_section_header": "playscreen.beta_worlds"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"no_local_worlds_label@play.label_content_template": {
// 완전히 제거(공간도 없음)
"ignored": "(not $local_world_upload)",
// 오버라이드 가능한 변수
"$label_content_label": "",
// 오버라이드 가능한 변수
"$label_content_content": "play.information_panel",
// 오버라이드 가능한 변수
"$information_panel_label_text": "localWorld.no_local_world_label",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#no_local_worlds",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"no_local_worlds_switch_setting@play.no_local_worlds_switch_setting": {}
},
{
// ???/?? ??
"beta_retail_local_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 4 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#beta_retail_local_worlds_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"beta_retail_local_worlds_label@play.world_list_label_panel": {
// 오버라이드 가능한 변수
"$label_text": "playscreen.worlds",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#beta_retail_local_worlds_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"beta_retail_local_grid@play.beta_retail_local_world_item_grid": {
// 오버라이드 가능한 변수
"$tts_section_header": "playscreen.worlds"
}
},
{
// ???/?? ??
"loading_legacy_worlds_panel_padding": {
// 완전히 제거(공간도 없음)
"ignored": "(not $supports_legacy_worlds)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 4 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#sync_legacy_worlds_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// ???/?? ??
"legacy_worlds_button": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 완전히 제거(공간도 없음)
"ignored": "$auto_fetch_legacy_worlds",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"legacy_worlds_label@play.world_list_label_panel": {
// 오버라이드 가능한 변수
"$label_text": "playscreen.dontSeeLegacyWorlds",
// 완전히 제거(공간도 없음)
"ignored": "(not $supports_legacy_worlds)",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#sync_legacy_worlds_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// ???/?? ??
"sync_legacy_worlds_button_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $supports_legacy_worlds)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", "100%c + 4px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button@play.sync_legacy_worlds_button": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", 30 ]
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"loading_legacy_worlds_panel@play.label_background": {
// 가로/세로 크기
"size": [ "100%", "100%c - 12px" ],
"min_size": [ "100%", 39 ], // Grid item size is 29 + 10 for label, grid items overdraw by 1px
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"loading_legacy_worlds_label@play.loading_label": {
// 오버라이드 가능한 변수
"$message_binding_name": "#legacy_worlds_loading_display_message"
}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 4 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"progress_loading_bars@play.progress_loading_bars": {
// 오버라이드 가능한 변수
"$visible_binding_name": "#loading_legacy_worlds_grid_visible"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#loading_legacy_worlds_grid_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"padding_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 4 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#legacy_worlds_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"upgrade_legacy_worlds_label@play.world_list_label_with_color_panel": {
// 오버라이드 가능한 변수
"$label_text": "playscreen.upgradeLegacyWorlds",
// 오버라이드 가능한 변수
"$square_color": "$world_diskspace_editions_fill",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$pre_release",
// 오버라이드 가능한 변수
"$label_text": "playscreen.beta_legacy_worlds"
},
{
// 이 조건이 맞으면 적용
"requires": "($is_preview_app and (not $legacy_worlds_supports_migration))",
// 오버라이드 가능한 변수
"$label_text": "playscreen.upgradeRetailWorlds"
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#legacy_worlds_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"legacy_world_item_grid@play.legacy_world_item_grid": {
// 오버라이드 가능한 변수
"$tts_section_header": "playscreen.upgradeLegacyWorlds",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$pre_release",
// 오버라이드 가능한 변수
"$tts_section_header": "playscreen.beta_legacy_worlds"
},
{
// 이 조건이 맞으면 적용
"requires": "($is_preview_app and (not $legacy_worlds_supports_migration))",
// 오버라이드 가능한 변수
"$label_text": "playscreen.upgradeRetailWorlds"
}
]
}
},
{
// ???/?? ??
"beta_retail_legacy_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 4 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#beta_retail_legacy_worlds_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"beta_retail_legacy_worlds_label@play.world_list_label_panel": {
// 오버라이드 가능한 변수
"$label_text": "playscreen.upgradeLegacyWorlds",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($is_preview_app and (not $legacy_worlds_supports_migration))",
// 오버라이드 가능한 변수
"$label_text": "playscreen.upgradeRetailWorlds"
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#beta_retail_legacy_worlds_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"beta_retail_legacy_grid@play.beta_retail_legacy_world_item_grid": {
// 오버라이드 가능한 변수
"$tts_section_header": "playscreen.upgradeLegacyWorlds",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($is_preview_app and (not $legacy_worlds_supports_migration))",
// 오버라이드 가능한 변수
"$tts_section_header": "playscreen.upgradeRetailWorlds"
}
]
}
},
{
// ???/?? ??
"pad_hack_panel": {
// Grid items are actually rendering 1 pixel more than their size
// this is to avoid double-borders
// however, this means we now need an extra pixel for the last grid item
// also add 2 pixels to make it look nice
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 3 ]
}
}
]
},
// ???/?? ??
"no_local_worlds_switch_setting": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 완전히 제거(공간도 없음)
"ignored": "$education_edition",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"bg@play.label_background": {
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"no_local_worlds_switch_setting@play.label_content_template": {
// 가로/세로 크기
"size": [ "100% - 6px", "100%c + 1px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ],
// 오버라이드 가능한 변수
"$label_offset": [ 1, 0 ],
// 오버라이드 가능한 변수
"$label_content_label": "localWorld.no_local_worlds_present",
// 오버라이드 가능한 변수
"$label_content_content": "play.storage_location_dropdown_panel",
// 오버라이드 가능한 변수
"$information_panel_label_text": "localWorld.no_local_worlds_present",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#no_local_world_switch_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"no_local_worlds_get_help@play.label_content_template": {
// 가로/세로 크기
"size": [ "100% - 6px", "100%c + 1px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ],
// 오버라이드 가능한 변수
"$label_offset": [ 1, 0 ],
// 오버라이드 가능한 변수
"$label_content_label": "#no_local_worlds_help_label",
// 오버라이드 가능한 변수
"$label_content_label_binding_type": "global",
// 오버라이드 가능한 변수
"$label_content_content": "play.no_local_worlds_launch_help",
// 오버라이드 가능한 변수
"$information_panel_label_text": "#no_local_worlds_help_label",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#no_local_world_help_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#no_local_worlds_switch_setting_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"no_local_worlds_launch_help@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.no_local_worlds_launch_help",
// 오버라이드 가능한 변수
"$button_text": "#no_local_worlds_launch_help_button_label",
// 오버라이드 가능한 변수
"$button_text_binding_type": "global",
// 가로/세로 크기
"size": [ "100%", 29 ]
},
// ???/?? ??
"storage_location_dropdown_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 4 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"storage_location_dropdown@play.storage_location_dropdown": {
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"storage_location_dropdown@settings_common.option_dropdown": {
// 오버라이드 가능한 변수
"$option_label": "options.filelocation.title",
// 완전히 제거(공간도 없음)
"ignored": "($is_holographic and $is_reality_mode)",
// 오버라이드 가능한 변수
"$dropdown_content": "play.switch_storage_type_content",
// 오버라이드 가능한 변수
"$dropdown_area": "no_local_worlds_switch_setting",
// 오버라이드 가능한 변수
"$dropdown_name": "switch_storage_type",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#switch_storage_type_enabled",
// 오버라이드 가능한 변수
"$options_dropdown_toggle_label_binding": "#switch_storage_type_toggle_label",
// 오버라이드 가능한 변수
"$dropdown_scroll_content_size": [ "100%", "200%" ]
},
// 다른 템플릿을 가져와서 확장(상속)
"switch_storage_type_content@settings_common.option_radio_dropdown_group": {
// 오버라이드 가능한 변수
"$radio_buttons": [
{
// 다른 템플릿을 가져와서 확장(상속)
"storage_location_option_external@settings_common.radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#storage_location_radio_external",
// 오버라이드 가능한 변수
"$radio_label_text": "options.filelocation.external"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"storage_location_option_appdata@settings_common.radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#storage_location_radio_package",
// 오버라이드 가능한 변수
"$radio_label_text": "options.filelocation.appdata"
}
}
]
},
// ???/?? ??
"bar_animation": {
// 프레임 애니메이션
"anim_type": "flip_book",
"initial_uv": [ 0, 0 ],
"frame_count": 10,
"frame_step": 64,
"fps": 10,
"reversible": true,
// 움직임 곡선
"easing": "linear"
},
// ???/?? ??
"light_centered_loading_label": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "$label_text",
"max_size": [ "100% - 4px", 20 ],
"shadow": false,
// ?? (R,G,B,A)
"color": "$generic_button_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$label_text",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// ???/?? ??
"light_loading_label": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "$label_text",
"max_size": [ "100% - 4px", 20 ],
"shadow": false,
// 기준점에서 이동하는 거리
"offset": [ 0, 6 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// ?? (R,G,B,A)
"color": "$dark_button_locked_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 3
},
// ???/?? ??
"loading_label": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "$message_binding_name",
"max_size": [ "100% - 4px", 40 ],
"shadow": false,
// 기준점에서 이동하는 거리
"offset": [ 0, 6 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// ?? (R,G,B,A)
"color": "$dark_button_default_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 오버라이드 가능한 변수
"$message_binding_name|default": "",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$message_binding_name",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// ???/?? ??
"progress_loading_bars": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 사용할 이미지 경로
"texture": "textures/ui/loading_bar",
// 기준점에서 이동하는 거리
"offset": [ 0, 18 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 가로/세로 크기
"size": [ 64, 8 ],
// ???? ??
"uv_size": [ 64, 8 ],
// ???? ?? ??
"uv": "@play.bar_animation",
// ?? (R,G,B,A)
"color": "$dark_button_secondary_default_text_color",
// 오버라이드 가능한 변수
"$visible_binding_name|default": "#loading_bars_animation_visible",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$visible_binding_name",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
// ???/?? ??
"world_list_label_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"list_label": {
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$main_header_text_color",
// 가로/세로 크기
"size": [ "100%", 10 ],
// 기준점에서 이동하는 거리
"offset": [ 1, 0 ],
// 보여줄 글자
"text": "$label_text"
}
}
]
},
// ???/?? ??
"world_list_label_with_color_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"colored_square_sizer": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"colored_square": {
// 완전히 제거(공간도 없음)
"ignored": "(not $legacy_worlds_share_storage) and (not $legacy_worlds_supports_migration)",
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/progress_bar_simple",
// 가로/세로 크기
"size": [ "100%y", "100% - 4px" ],
// ?? (R,G,B,A)
"color": "$square_color"
}
}
]
}
},
{
// ???/?? ??
"padding": {
// 완전히 제거(공간도 없음)
"ignored": "(not $legacy_worlds_share_storage) and (not $legacy_worlds_supports_migration)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, "100%" ]
}
},
{
// ???/?? ??
"list_label": {
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$main_header_text_color",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 1, 0 ],
// 오버라이드 가능한 변수
"$label_text|default": "b",
// 보여줄 글자
"text": "$label_text",
// 오버라이드 가능한 변수
"$label_binding_type|default": "none",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 바인딩 종류(변수로 관리되는 경우도 있음)
"binding_type": "$label_binding_type",
// 가져올 값 이름
"binding_name": "$label_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "$label_text"
}
]
}
}
]
},
// ???/?? ??
"empty_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ]
},
// ???/?? ??
"empty_grid": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 29 ]
},
// 다른 템플릿을 가져와서 확장(상속)
"lan_servers_scroll_content@play.label_content_template": {
// 오버라이드 가능한 변수
"$label_content_label": "networkWorld.lan_label",
// 오버라이드 가능한 변수
"$label_content_content": "play.network_world_item_grid",
// 오버라이드 가능한 변수
"$network_world_grid_item_template": "play.network_world_item",
// 오버라이드 가능한 변수
"$network_world_icon": "play.lan_icon",
// 오버라이드 가능한 변수
"$network_world_item_grid_dimension_binding": "#lan_network_world_item_grid_dimension",
// 오버라이드 가능한 변수
"$collection_name": "lan_network_worlds",
// 오버라이드 가능한 변수
"$tts_section_header": "$label_content_label",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#lan_grid_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"friends_scroll_panel@play.common_scroll_pane": {
// 오버라이드 가능한 변수
"$hide_xbox_live_icon": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%", "100%c - 1px" ],
// 오버라이드 가능한 변수
"$add_friend_visible": true,
// 오버라이드 가능한 변수
"$add_friend_not_visible": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"friends_screen_warning@play.realm_warning_tip": {}
},
{
// ???/?? ??
"header_button": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "100%", "100%c + 4px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"add_friend_and_invite_panel@play.add_friend_and_invite_panel": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 완전히 제거(공간도 없음)
"ignored": "$add_friend_not_visible"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"friends_crossplatform_disabled_panel@play.crossplatform_disabled_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $is_realms_enabled)",
// 오버라이드 가능한 변수
"$cross_platform_information_text": "crossPlatformToggle.crossPlatformDisabled.friends"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"friends_crossplatform_disable_spacer@play.crossplatform_disable_spacer": {
// 완전히 제거(공간도 없음)
"ignored": "(not $is_realms_enabled)"
}
},
{
// ???/?? ??
"joinable_realms_panel": {
// 완전히 제거(공간도 없음)
"ignored": "$is_editor_mode_enabled",
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 오버라이드 가능한 변수
"$tts_section_header": "playscreen.joinableRealms",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#joinable_realms_panel_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"friends_realms_label@play.world_list_label_panel": {
// 오버라이드 가능한 변수
"$label_text": "$tts_section_header",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#friends_realms_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"sign_in_to_view_realms_button_friends@play.sign_in_to_view_realms_button_friends": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"friends_realms@play.realms_world_item_grid": {
// 오버라이드 가능한 변수
"$grid_name": "#friend_realms_grid_dimension",
// 오버라이드 가능한 변수
"$realms_worlds_collection_name": "friends_realms",
// 오버라이드 가능한 변수
"$grid_item_layout": "play.realms_world_item"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"placeholder_loading_friends_panel@play.label_background": {
// 가로/세로 크기
"size": [ "100%", "100%c - 12px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"placeholder_loading_friends_realms": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": [ "100%", "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 목록 이름
"collection_name": "loading_friends_realms",
"grid_item_template": "play.empty_grid",
"grid_dimension_binding": "#loading_friends_realms_grid_dimension",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#loading_friends_realms_grid_dimension"
}
]
}
},
{
// ???/?? ??
"loading_friends_realms_label": {
// 글자 표시
"type": "label",
"max_size": [ "100% - 4px", 40 ],
// 보여줄 글자
"text": "#realms_loading_display_message",
"shadow": false,
// 기준점에서 이동하는 거리
"offset": [ 0, 6 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// ?? (R,G,B,A)
"color": "$dark_button_default_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#realms_loading_display_message",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 4 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"progress_loading_bars@play.progress_loading_bars": {}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#loading_friends_realms_grid_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"get_offline_authcode_message_panel@play.label_background": {
// 가로/세로 크기
"size": [ "100%", 40 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"content_stack": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"message_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 15px", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"message_label": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": [ "100%", "default" ],
// ?? ??
"text_alignment": "center",
// 보여줄 글자
"text": "networkWorld.addAsAuthorizedApp",
"shadow": false,
// ?? (R,G,B,A)
"color": "$store_white_text_color"
}
}
]
}
},
{
// ???/?? ??
"image_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"link_image": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 8, 8 ],
// 사용할 이미지 경로
"texture": "textures/ui/external_link"
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"focus_border@common.button": {
// 가로/세로 크기
"size": [ "100%", "100%sm" ],
"default_control": "",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.get_offline_authcode",
"tts_inherit_siblings": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hover@common.focus_border_white": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pressed@common.focus_border_white": {}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#get_offline_authcode_message_panel_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"no_realms_grid@play.label_content_template": {
// 오버라이드 가능한 변수
"$label_content_label": "playscreen.joinableRealms",
// 오버라이드 가능한 변수
"$label_content_content": "play.information_panel",
// 오버라이드 가능한 변수
"$information_panel_label_text": "playscreen.noFriendsRealms",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#no_friends_realms_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 3 ]
}
}
]
}
},
// Original Friends Grid
{
// 다른 템플릿을 가져와서 확장(상속)
"friends_grid@play.label_content_template": {
// 오버라이드 가능한 변수
"$label_content_label": "networkWorld.joinable_friends_label",
// 오버라이드 가능한 변수
"$label_content_content": "play.network_world_item_grid",
// 오버라이드 가능한 변수
"$network_world_grid_item_template": "play.network_world_item",
// 오버라이드 가능한 변수
"$network_world_icon": "play.friends_server_icon",
// 오버라이드 가능한 변수
"$hide_network_icon": "$hide_xbox_live_icon",
// 오버라이드 가능한 변수
"$network_world_item_grid_dimension_binding": "#friends_network_world_item_grid_dimension",
// 오버라이드 가능한 변수
"$collection_name": "friends_network_worlds",
// 오버라이드 가능한 변수
"$header_icon_visible": true,
// 오버라이드 가능한 변수
"$tts_section_header": "$label_content_label",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$nx_os",
// 오버라이드 가능한 변수
"$label_content_label": "networkWorld.joinable_nintendo_friends_label"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_ps4",
// 오버라이드 가능한 변수
"$label_content_label": "networkWorld.joinable_berwick_friends_label"
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#friends_grid_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"pad_hack_panel": {
// Grid items are actually rendering 1 pixel more than their size
// this is to avoid double-borders
// however, this means we now need an extra pixel for the last grid item
// also add 2 pixels to make it look nice
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 3 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#friends_grid_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"no_friends_grid_message@play.label_content_template": {
// 완전히 제거(공간도 없음)
"ignored": "$education_edition",
// 오버라이드 가능한 변수
"$label_content_label": "networkWorld.joinable_friends_label",
// 오버라이드 가능한 변수
"$label_content_content": "play.information_panel",
// 오버라이드 가능한 변수
"$information_panel_label_text": "#no_friends_grid_message_text",
// 오버라이드 가능한 변수
"$information_panel_label_text_binding_type": "global",
// 오버라이드 가능한 변수
"$information_panel_label_text_binding_condition": "always_when_visible",
// 오버라이드 가능한 변수
"$tts_section_header": "$label_content_label",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$nx_os",
// 오버라이드 가능한 변수
"$label_content_label": "networkWorld.joinable_nintendo_friends_label"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_ps4",
// 오버라이드 가능한 변수
"$label_content_label": "networkWorld.joinable_berwick_friends_label"
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#no_friends_grid_message_text"
},
{
// 가져올 값 이름
"binding_name": "#no_friends_grid_message_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
// Find Cross-Platform Friends button, only on Switch platform for now
{
// 다른 템플릿을 가져와서 확장(상속)
"switch_find_cross_platform_friend_button@play.add_friend_button": {
// 완전히 제거(공간도 없음)
"ignored": "(not $nx_os and not $is_ps4)",
// 가로/세로 크기
"size": [ "100%", 30 ],
// 오버라이드 가능한 변수
"$button_text": "networkWorld.find_cross_platform_friends",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#add_friend_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#cross_platform_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled"
}
]
}
},
{
// ???/?? ??
"add_friend_button_padding": {
// 완전히 제거(공간도 없음)
"ignored": "(not $nx_os and not $is_ps4)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 2 ]
}
},
// Cross Platform Friends Grid
{
// 다른 템플릿을 가져와서 확장(상속)
"cross_platform_friends_grid@play.label_content_template": {
// 오버라이드 가능한 변수
"$label_content_label": "networkWorld.joinable_cross_platform_friends_label",
// 오버라이드 가능한 변수
"$label_content_content": "play.network_world_item_grid",
// 오버라이드 가능한 변수
"$network_world_grid_item_template": "play.network_world_item",
// 오버라이드 가능한 변수
"$network_world_icon": "play.cross_platform_friends_server_icon",
// 오버라이드 가능한 변수
"$hide_network_icon": "$hide_xbox_live_icon",
// 오버라이드 가능한 변수
"$network_world_item_grid_dimension_binding": "#cross_platform_friends_network_world_item_grid_dimension",
// 오버라이드 가능한 변수
"$collection_name": "cross_platform_friends_network_worlds",
// 오버라이드 가능한 변수
"$header_icon_visible": true,
// 완전히 제거(공간도 없음)
"ignored": "(not $nx_os and not $is_ps4)",
// 오버라이드 가능한 변수
"$tts_section_header": "$label_content_label",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#cross_platform_friends_grid_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"no_cross_platform_friends_grid_message@play.label_content_template": {
// 오버라이드 가능한 변수
"$label_content_label": "networkWorld.joinable_cross_platform_friends_label",
// 오버라이드 가능한 변수
"$label_content_content": "play.information_panel",
// 오버라이드 가능한 변수
"$information_panel_label_text": "#no_cross_platform_friends_grid_message_text",
// 오버라이드 가능한 변수
"$information_panel_label_text_binding_type": "global",
// 오버라이드 가능한 변수
"$information_panel_label_text_binding_condition": "always_when_visible",
// 완전히 제거(공간도 없음)
"ignored": "(not $nx_os and not $is_ps4)",
// 오버라이드 가능한 변수
"$tts_section_header": "$label_content_label",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#no_cross_platform_friends_grid_message_text"
},
{
// 가져올 값 이름
"binding_name": "#no_cross_platform_friends_grid_message_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"general_no_multiplayer_grid_message@play.label_content_template": {
// 오버라이드 가능한 변수
"$label_content_label": "networkWorld.joinable_friends_label",
// 오버라이드 가능한 변수
"$label_content_content": "play.information_panel",
// 오버라이드 가능한 변수
"$information_panel_label_text": "#general_no_multiplayer_grid_message_text",
// 오버라이드 가능한 변수
"$information_panel_label_text_binding_type": "global",
// 오버라이드 가능한 변수
"$information_panel_label_text_binding_condition": "always_when_visible",
// 오버라이드 가능한 변수
"$tts_section_header": "$label_content_label",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#general_no_multiplayer_grid_message_text"
},
{
// 가져올 값 이름
"binding_name": "#general_no_multiplayer_grid_message_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"lan_grid@play.lan_servers_scroll_content": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"open_account_setting_button_gamecore@play.open_account_setting_button_gamecore": {}
}
]
}
}
]
},
// ???/?? ??
"manually_added_servers_scrolling_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 완전히 제거(공간도 없음)
"ignored": "($ignore_add_servers or $ignore_3rd_party_servers)",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_network_available_and_multiplayer_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 오버라이드 가능한 변수
"$tts_section_header": "networkWorld.more_servers",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"more_servers_label@common.minecraftTenLabel": {
// 가로/세로 크기
"size": [ "default", "default" ],
// 보여줄 글자
"text": "thirdPartyWorld.Additional",
// ?? (R,G,B,A)
"color": "$dark_button_default_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_additional_server_label_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"more_servers_grid@play.more_servers_grid": {}
},
{
// ???/?? ??
"padding_3": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 4 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#servers_grid_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
},
// ???/?? ??
"servers_content_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 오버라이드 가능한 변수
"$focus_id": "left_panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"new_ui_servers_switch_button_options_panel@play.new_ui_servers_switch_button_options_panel": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"more_servers_panel@play.manually_added_servers_scrolling_content": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"more_servers_divider@common.horizontal_divider": {}
},
{
// ???/?? ??
"featured_servers_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 완전히 제거(공간도 없음)
"ignored": "$ignore_3rd_party_servers",
// 오버라이드 가능한 변수
"$third_party_featured_servers": "thirdPartyWorld.Featured",
// 오버라이드 가능한 변수
"$focus_id": "featured_servers_panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"loading_featured_panel@play.label_background": {
// 가로/세로 크기
"size": [ "100%", 40 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"loading_friends_realms_label@play.light_loading_label": {
// 오버라이드 가능한 변수
"$label_text": "thirdPartyWorld.loadingFeaturedServers"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"loading_featured_servers_panel@play.loading_featured_servers_panel": {}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#loading_servers_progress_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"featured_servers_label@common.minecraftTenLabel": {
// 가로/세로 크기
"size": [ "default", "default" ],
// 보여줄 글자
"text": "thirdPartyWorld.Featured",
// ?? (R,G,B,A)
"color": "$dark_button_default_text_color"
}
},
{
// ???/?? ??
"padding_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"third_party_featured_grid@play.third_party_featured_server_grid": {
// 오버라이드 가능한 변수
"$tts_section_header": "$third_party_featured_servers"
}
},
{
// ???/?? ??
"padding_3": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#featured_servers_visible_and_available",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"server_scroll_panel@play.common_scroll_pane": {
// 오버라이드 가능한 변수
"$server_scroll_panel_content|default": "play.servers_content_panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%- 3px", "100%c + 1px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 3 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"servers_crossplatform_disabled_panel@play.crossplatform_disabled_panel": {
// 오버라이드 가능한 변수
"$cross_platform_information_text": "crossPlatformToggle.crossPlatformDisabled.servers"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"no_featured_server_connection@play.information_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $is_ps4)",
// 오버라이드 가능한 변수
"$information_label_font": "smooth",
// 오버라이드 가능한 변수
"$information_panel_label_text": "#internet_connection_text",
// 오버라이드 가능한 변수
"$information_panel_label_text_binding_type": "global",
// 오버라이드 가능한 변수
"$information_panel_label_text_binding_condition": "always_when_visible",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #is_network_available)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"more_servers_blocked_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 보이기/숨기기(공간 유지)
"visible": false,
// 완전히 제거(공간도 없음)
"ignored": "($ignore_add_servers or $ignore_3rd_party_servers)",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#multiplayer_blocked_panel_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"server_multiplayer_privileges_blocked@play.information_panel": {
// 오버라이드 가능한 변수
"$information_label_font": "smooth",
// 오버라이드 가능한 변수
"$information_panel_label_text": "#multiplayer_blocked_text",
// 오버라이드 가능한 변수
"$information_panel_label_text_binding_type": "global",
// 오버라이드 가능한 변수
"$information_panel_label_text_binding_condition": "always_when_visible",
// 완전히 제거(공간도 없음)
"ignored": "($ignore_add_servers or $ignore_3rd_party_servers)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"open_uri_button@play.open_account_setting_button": {}
}
]
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 3 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"server_content@$server_scroll_panel_content": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"add_server_button@play.add_server_toggle_button": {}
}
]
}
}
]
},
//---------------------------------------------------------------------------
// Cross Platform panels
//---------------------------------------------------------------------------
// 다른 템플릿을 가져와서 확장(상속)
"crossplatform_disabled_panel@play.dark_label_background": {
// 가로/세로 크기
"size": [ "100%", "100%c + 8px" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #cross_platform_enabled)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"disable_text": {
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$dark_button_default_text_color",
// 가로/세로 크기
"size": [ "100% - 8px", "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"shadow": false,
// ??
"font_type": "smooth",
// 보여줄 글자
"text": "$cross_platform_information_text"
}
}
]
},
// ???/?? ??
"crossplatform_disable_spacer": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 5 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #cross_platform_enabled)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
//---------------------------------------------------------------------------
// Scroll panels
//---------------------------------------------------------------------------
// 다른 템플릿을 가져와서 확장(상속)
"common_scrolling_panel@common.scrolling_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 오버라이드 가능한 변수
"$scrolling_pane_size": [ "100% - 1px", "100%" ],
// 오버라이드 가능한 변수
"$scrolling_content": "$scrolling_content",
// 오버라이드 가능한 변수
"$scroll_size": [ 5, "100% - 4px" ],
// 오버라이드 가능한 변수
"$show_background": false,
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right"
},
//---------------------------------------------------------------------------
// Scroll content
//---------------------------------------------------------------------------
"common_content": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
"focus_container": true,
"use_last_focus": true,
"focus_navigation_mode_down": "contained",
"focus_navigation_mode_up": "contained",
"focus_navigation_mode_right": "contained",
"focus_navigation_mode_left": "contained"
},
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_offsets@play.common_scrolling_panel": {
// 가로/세로 크기
"size": [ "100% - 4px", "100% - 4px" ],
// 기준점에서 이동하는 거리
"offset": [ 2, 2 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left"
},
// 다른 템플릿을 가져와서 확장(상속)
"worlds_scroll_content@play.common_content": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"worlds_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"scrolling_panel_sizer": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "fill" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@play.scrolling_offsets": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 오버라이드 가능한 변수
"$scrolling_content": "play.worlds_scroll_panel"
}
}
]
}
},
{
// ???/?? ??
"scrolling_panel_legacy_storage_sizer": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $legacy_worlds_share_storage) and (not $legacy_worlds_supports_migration)",
// 가로/세로 크기
"size": [ "100%", "20%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@play.scrolling_offsets": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 오버라이드 가능한 변수
"$scrolling_content": "play.legacy_world_content_status_area_panel"
}
}
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"friends_scroll_content@play.common_content": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@play.scrolling_offsets": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 오버라이드 가능한 변수
"$scrolling_content": "play.friends_scroll_panel"
}
}
]
},
// ???/?? ??
"show_servers_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "fill" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #feature_server_message_visible)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"left_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "50% - 1px", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@play.scrolling_offsets": {
// 가로/세로 크기
"size": [ "100%", "100% - 4px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 오버라이드 가능한 변수
"$scrolling_content": "play.server_scroll_panel"
}
}
]
}
},
{
// ???/?? ??
"divider_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 3, "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"main_divider": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 3, "100% - 4px" ],
// 이미지 반복 여부
"tiled": "y",
// 사용할 이미지 경로
"texture": "textures/ui/HowToPlayDivider",
// 겹치는 순서(숫자 클수록 위)
"layer": 10
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"right_panel@play.server_content_area": {}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"server_scroll_content@play.common_content": {
// 가로/세로 크기
"size": [ "100% - 4px", "100% - 4px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"severs_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"offset_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 4px", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"servers_sunsetting_warning@play.realm_warning_tip": {
// 가로/세로 크기
"size": [ "100% - 2px", "100%cm - 2px" ],
// 기준점에서 이동하는 거리
"offset": [ 2, 2 ]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#device_sunsetting",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"show_servers_panel@play.show_servers_panel": {}
}
]
}
},
{
// ???/?? ??
"feature_server_message_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100% - 10px", "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#feature_server_message_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"featured_servers_label@common.minecraftTenLabel": {
// 가로/세로 크기
"size": [ "default", "default" ],
// 보여줄 글자
"text": "thirdPartyWorld.Featured",
// ?? (R,G,B,A)
"color": "$dark_button_default_text_color"
}
},
{
// ???/?? ??
"pad": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"feature_server_message_panel@play.dark_label_background": {
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"label_panel_layout": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "97%", "100%c + 8px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"label": {
// 글자 표시
"type": "label",
// 오버라이드 가능한 변수
"$information_label_font|default": "default",
// ??
"font_type": "smooth",
// ?? (R,G,B,A)
"color": "$dark_button_default_text_color",
// 가로/세로 크기
"size": [ "100%", "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"shadow": false,
// 보여줄 글자
"text": "#feature_server_message_text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#feature_server_message_text"
}
]
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"open_account_setting_button_gamecore@play.open_account_setting_button_gamecore": {}
}
]
}
}
]
},
// ???/?? ??
"server_content_area": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "50% - 4px", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 오버라이드 가능한 변수
"$focus_id": "right_side",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_network_available_and_multiplayer_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"third_party_scrolling_panel@play.scrolling_offsets": {
// 가로/세로 크기
"size": [ "100%", "100% - 4px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 오버라이드 가능한 변수
"$scrolling_content": "play.third_party_server_info_panel",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_third_party_server_selected",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"additional_server_scrolling_panel@play.scrolling_offsets": {
// 가로/세로 크기
"size": [ "100%", "100% - 4px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 오버라이드 가능한 변수
"$scrolling_content": "play.additional_server_info_panel",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_additional_server_selected",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"add_server_pane@play.add_server_info_panel": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#add_server_info_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
},
//---------------------------------------------------------------------------
// Toggle tab buttons
//---------------------------------------------------------------------------
"tab_front": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/TabTopFront"
},
// ???/?? ??
"tab_front_middle": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/TabTopFront"
},
// ???/?? ??
"tab_back": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/TabTopBack"
},
// ???/?? ??
"X_tab_back": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/XTab"
},
// ???/?? ??
"tab_text_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"padding@common.empty_panel": {
// 가로/세로 크기
"size": [ "100%", 1 ]
}
},
{
// ???/?? ??
"text_section": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"text@play.common_button_text": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 보여줄 글자
"text": "$tab_text_name",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점에서 이동하는 거리
"offset": [ -1, 0 ],
// ?? (R,G,B,A)
"color": "$text_color"
}
}
]
}
},
{
// ???/?? ??
"count_section": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$is_checked_state",
// 오버라이드 가능한 변수
"$count_background_image": "textures/ui/numberBGFront",
// 오버라이드 가능한 변수
"$count_text_color": "$secondary_text_color"
},
{
// 이 조건이 맞으면 적용
"requires": "($is_hover_state or not $is_checked_state)",
// 오버라이드 가능한 변수
"$count_background_image": "textures/ui/numberBGBack",
// 오버라이드 가능한 변수
"$count_text_color": "$text_color"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"count_background_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "$count_background_image",
// 가로/세로 크기
"size": [ "100%c + 3px", "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ -1, -1 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"count@common_button_text": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 기준점에서 이동하는 거리
"offset": [ 1, 1 ],
// 보여줄 글자
"text": "$count_text_name",
// ?? (R,G,B,A)
"color": "$count_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$count_text_name"
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"common_navigation_tab_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%-3px", "100% - 4px" ],
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, "100%" ]
}
},
{
// ???/?? ??
"icon_section": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"icon@$tab_icon": {
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
}
]
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"count_text@play.tab_text_stack_panel": {}
}
]
},
// ???/?? ??
"friends_navigation_tab_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%-3px", "100% - 4px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, "100%" ]
}
},
{
// ???/?? ??
"icon_section": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$visibility_binding_override_name",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"icon@$tab_icon": {
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 기준점에서 이동하는 거리
"offset": "@play.anim_icon_wait_B"
}
}
]
}
},
{
// ???/?? ??
"icon_section_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$visibility_binding_override_name",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"icon@$tab_icon_2": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 기준점에서 이동하는 거리
"offset": "@play.anim_icon_wait_A"
}
}
]
}
},
{
// ???/?? ??
"icon_section_nobounce": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$visibility_binding_override_name_nobounce",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"icon@$tab_icon_nobounce": {
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 기준점에서 이동하는 거리
"offset": [ 0, -3 ]
}
}
]
}
},
{
// ???/?? ??
"icon_section_nobounce_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$visibility_binding_override_name_nobounce",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"icon@$tab_icon_nobounce_2": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 기준점에서 이동하는 거리
"offset": [ -5, 2 ]
}
}
]
}
},
{
// ???/?? ??
"icon_section_notification": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$visibility_binding_override_name_notification",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"icon1@play.invite_icon": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 기준점에서 이동하는 거리
"offset": [ -0.5, -1 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #inbox_enabled)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"icon2@play.bell_icon": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 기준점에서 이동하는 거리
"offset": [ -0.5, -1 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#inbox_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"count_text@play.tab_text_stack_panel": {}
}
]
},
//---------------------------------------------------------------------------
// Main navigation tabs
//---------------------------------------------------------------------------
// 다른 템플릿을 가져와서 확장(상속)
"top_tab@common_tabs.tab_top": {
// 오버라이드 가능한 변수
"$toggle_tts_enabled_binding_type": "global",
// 오버라이드 가능한 변수
"$radio_toggle_group": true,
// 오버라이드 가능한 변수
"$toggle_name": "navigation_tab",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": "$default_tab",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 오버라이드 가능한 변수
"$toggle_tts_type_priority": 1001,
// 오버라이드 가능한 변수
"$toggle_tts_toggle_on_text": "",
// 오버라이드 가능한 변수
"$toggle_tts_toggle_off_text": "",
// 오버라이드 가능한 변수
"$toggle_tts_index_priority": 1002
},
// 다른 템플릿을 가져와서 확장(상속)
"world_navigation_tab@play.top_tab": {
// 오버라이드 가능한 변수
"$is_left_most_tab": true,
// 오버라이드 가능한 변수
"$tab_view_binding_name": "world_navigation_tab_toggle",
// 오버라이드 가능한 변수
"$tab_icon": "worlds_icon",
// 오버라이드 가능한 변수
"$count_text_name": "#world_item_count",
// 오버라이드 가능한 변수
"$tab_text_name": "selectWorld.tab.worlds",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 0,
// 오버라이드 가능한 변수
"$tab_content": "play.common_navigation_tab_content",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$is_editor_mode_enabled",
// 오버라이드 가능한 변수
"$tab_text_name": "playscreen.editor.worlds"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"friends_navigation_tab@play.top_tab": {
// 오버라이드 가능한 변수
"$tab_view_binding_name": "friends_navigation_tab_toggle",
// 오버라이드 가능한 변수
"$tab_icon": "friends_icon_2",
// 오버라이드 가능한 변수
"$tab_icon_2": "friends_icon_1",
// 오버라이드 가능한 변수
"$tab_icon_nobounce": "friends_icon_2",
// 오버라이드 가능한 변수
"$tab_icon_nobounce_2": "friends_icon_1",
// 오버라이드 가능한 변수
"$visibility_binding_override_name": "#friends_tab_show_bouncing",
// 오버라이드 가능한 변수
"$visibility_binding_override_name_nobounce": "#friends_tab_show_not_bouncing",
// 오버라이드 가능한 변수
"$visibility_binding_override_name_notification": "#friends_tab_show_invites",
// 오버라이드 가능한 변수
"$count_text_name": "#friend_world_item_count",
// 오버라이드 가능한 변수
"$tab_text_name": "selectWorld.tab.friends",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1,
// 오버라이드 가능한 변수
"$tab_content": "play.friends_navigation_tab_content"
},
// 다른 템플릿을 가져와서 확장(상속)
"server_navigation_tab@play.top_tab": {
// 오버라이드 가능한 변수
"$tab_view_binding_name": "server_navigation_tab_toggle",
// 오버라이드 가능한 변수
"$tab_icon": "server_tab_icon",
// 오버라이드 가능한 변수
"$count_text_name": "#server_world_item_count",
// 오버라이드 가능한 변수
"$tab_text_name": "selectWorld.tab.thirdParty",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 2,
// 오버라이드 가능한 변수
"$tab_content": "play.common_navigation_tab_content"
},
// ???/?? ??
"close_navigation_tab": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@play.X_tab_back": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"x_image@common.light_close_button": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 기준점에서 이동하는 거리
"offset": [ 0, -1 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 포커스 이동용 ID
"focus_identifier": "close_button",
// 왼쪽으로 이동할 대상
"focus_change_left": "FOCUS_OVERRIDE_STOP",
// 위로 이동할 대상
"focus_change_up": "FOCUS_OVERRIDE_STOP",
// 오른쪽으로 이동할 대상
"focus_change_right": "FOCUS_OVERRIDE_STOP",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #exit_button_visible)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
},
//---------------------------------------------------------------------------
// Content tabs panel
//---------------------------------------------------------------------------
"common_tab_content_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@common.common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "dialog_background_hollow_4",
// 오버라이드 가능한 변수
"$show_close_button": false
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"content@$scroll_tab_content": {
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// magic offset to make the scroll clipping perfect
"size": [ "100%-12px", "100%-12px" ],
// 기준점에서 이동하는 거리
"offset": [ 6, 6 ],
"ttsSectionContainer": true
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$visible_bind_toggle_source_control",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"worlds_tab_content_panel@play.common_tab_content_panel": {
// 오버라이드 가능한 변수
"$visible_bind_toggle_source_control": "world_navigation_tab_toggle",
// 오버라이드 가능한 변수
"$scroll_tab_content": "play.worlds_scroll_content"
},
// 다른 템플릿을 가져와서 확장(상속)
"friends_tab_content_panel@play.common_tab_content_panel": {
// 오버라이드 가능한 변수
"$visible_bind_toggle_source_control": "friends_navigation_tab_toggle",
// 오버라이드 가능한 변수
"$scroll_tab_content": "play.friends_scroll_content"
},
// 다른 템플릿을 가져와서 확장(상속)
"server_tab_content_panel@play.common_tab_content_panel": {
// 오버라이드 가능한 변수
"$visible_bind_toggle_source_control": "server_navigation_tab_toggle",
// 오버라이드 가능한 변수
"$scroll_tab_content": "play.server_scroll_content"
},
//---------------------------------------------------------------------------
// Content layout panels
//---------------------------------------------------------------------------
"common_tab_content_panel_type": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "100%", "100%-26px" ],
"ttsSectionContainer": true
},
// 다른 템플릿을 가져와서 확장(상속)
"edu_tab_content_panel_layout@play.common_tab_content_panel_type": {
// 이 안에 들어가는 부품 목록
"controls": [
{ "worlds_tab_content@play.worlds_tab_content_panel": {} },
{ "friends_tab_content@play.friends_tab_content_panel": {} },
{ "server_tab_content_panel@play.server_tab_content_panel": {} }
]
},
// 다른 템플릿을 가져와서 확장(상속)
"trial_tab_content_panel_layout@play.common_tab_content_panel_type": {
// 이 안에 들어가는 부품 목록
"controls": [
{ "worlds_tab_content@play.worlds_tab_content_panel": {} }
]
},
// 다른 템플릿을 가져와서 확장(상속)
"default_tab_content_panel_layout@play.common_tab_content_panel_type": {
// 이 안에 들어가는 부품 목록
"controls": [
{ "worlds_tab_content@play.worlds_tab_content_panel": {} },
{ "friends_tab_content@play.friends_tab_content_panel": {} },
{ "server_tab_content_panel@play.server_tab_content_panel": {} }
]
},
//---------------------------------------------------------------------------
// Tabs layout panels
//---------------------------------------------------------------------------
"tab_navigation_panel_layout": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 가로/세로 크기
"size": [ "100%", 30 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"navigation_tabs": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content@$navigation_tab": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left"
}
}
]
}
},
{
// ???/?? ??
"close_navigation_tab": {
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$end_tab_control|default": "play.close_navigation_tab",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$is_editor_mode_enabled",
// 오버라이드 가능한 변수
"$end_tab_control": "play.editor_settings_menu_button"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{ "close_button@$end_tab_control": {} }
]
}
}
]
},
// ???/?? ??
"common_tab_navigation_panel_layout": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100% + 2px", "100%" ],
"ttsSectionContainer": true
},
// 다른 템플릿을 가져와서 확장(상속)
"edu_tab_navigation_panel_layout@play.common_tab_navigation_panel_layout": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"world_navigation_tab@play.world_navigation_tab": {
// 가로/세로 크기
"size": [ "33%", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"friends_navigation_tab@play.friends_navigation_tab": {
// 가로/세로 크기
"size": [ "33%", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"server_navigation_tab@play.server_navigation_tab": {
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"trial_tab_navigation_panel_layout@play.common_tab_navigation_panel_layout": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"world_navigation_tab@play.world_navigation_tab": {
// 가로/세로 크기
"size": [ "100%", "100%" ]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"default_tab_navigation_panel_layout@play.common_tab_navigation_panel_layout": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"world_navigation_tab@play.world_navigation_tab": {
// 가로/세로 크기
"size": [ "33%", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"friends_navigation_tab@play.friends_navigation_tab": {
// 가로/세로 크기
"size": [ "33%", "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"server_navigation_tab@play.server_navigation_tab": {
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
}
]
},
//---------------------------------------------------------------------------
// Trial, EDU and Default
//---------------------------------------------------------------------------
"common_play_screen_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$play_screen_size"
},
// 다른 템플릿을 가져와서 확장(상속)
"play_screen_panel@play.common_play_screen_panel": {
// If in edu quickplay is above create new so adjust focus override accordingly
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$education_edition",
// 오버라이드 가능한 변수
"$create_new_row_focus_override_up": "quick_play_button"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"tab_navigation_panel@play.tab_navigation_panel_layout": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"tab_content_panel@$tab_content_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"gamepad_helper_left_bumper@common.gamepad_helper_left_bumper": {
// 기준점에서 이동하는 거리
"offset": [ -1, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 오버라이드 가능한 변수
"$hide_description": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#bumper_tooltips_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"gamepad_helper_right_bumper@common.gamepad_helper_right_bumper": {
// 기준점에서 이동하는 거리
"offset": [ 1, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 오버라이드 가능한 변수
"$hide_description": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#bumper_tooltips_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"keyboard_helper_left_bracket@common.keyboard_left_trigger": {
// 기준점에서 이동하는 거리
"offset": [ -1, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 오버라이드 가능한 변수
"$hide_description": true,
// 오버라이드 가능한 변수
"$text_color": [ 1, 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"keyboard_helper_right_bracket@common.keyboard_right_trigger": {
// 기준점에서 이동하는 거리
"offset": [ 1, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 오버라이드 가능한 변수
"$hide_description": true,
// 오버라이드 가능한 변수
"$text_color": [ 1, 1, 1 ]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"default_play_screen_panel@play.play_screen_panel": {
// 오버라이드 가능한 변수
"$navigation_tab": "play.default_tab_navigation_panel_layout",
// 오버라이드 가능한 변수
"$tab_content_panel": "play.default_tab_content_panel_layout"
},
// 다른 템플릿을 가져와서 확장(상속)
"trial_play_screen_panel@play.play_screen_panel": {
// 오버라이드 가능한 변수
"$navigation_tab": "play.trial_tab_navigation_panel_layout",
// 오버라이드 가능한 변수
"$tab_content_panel": "play.trial_tab_content_panel_layout"
},
// 다른 템플릿을 가져와서 확장(상속)
"edu_play_screen_panel@play.play_screen_panel": {
// 오버라이드 가능한 변수
"$navigation_tab": "play.edu_tab_navigation_panel_layout",
// 오버라이드 가능한 변수
"$tab_content_panel": "play.edu_tab_content_panel_layout"
},
//---------------------------------------------------------------------------
// Screen
//---------------------------------------------------------------------------
// 다른 템플릿을 가져와서 확장(상속)
"play_screen@common.base_screen": {
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_exit",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_tab_left",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_tab_left",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_tab_right",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_tab_right",
// 입력 시점(pressed 등)
"mapping_type": "global",
"scope": "view"
}
],
// 오버라이드 가능한 변수
"$screen_content": "play.play_screen_content",
// 오버라이드 가능한 변수
"$world_picker_screen": false
},
// ???/?? ??
"play_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "(not $education_edition and not $is_editor_mode_enabled and not $is_editor_playtest_roundtrip)",
// 오버라이드 가능한 변수
"$main_panel": "play.default_play_screen_panel"
},
{
// 이 조건이 맞으면 적용
"requires": "($education_edition and not $is_editor_mode_enabled and not $is_editor_playtest_roundtrip)",
// 오버라이드 가능한 변수
"$main_panel": "play.edu_play_screen_panel"
},
{
// 이 조건이 맞으면 적용
"requires": "((not $education_edition and $is_editor_mode_enabled) or $is_editor_playtest_roundtrip)",
// 오버라이드 가능한 변수
"$main_panel": "play.editor_play_screen_panel"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"main_control@$main_panel": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"editor_text_panel@play.editor_text_panel": {
// 보이기/숨기기(공간 유지)
"visible": "$is_editor_mode_enabled"
}
},
{
// ???/?? ??
"popup_dialog_factory": {
// 리스트를 자동으로 생성하는 공장
"type": "factory",
// 팩토리 템플릿 매핑
"control_ids": {
"join_by_code": "@play.popup_dialog_join_by_code",
"high_ping_warning": "@play.popup_dialog_high_ping"
}
}
}
]
},
//--------------------------------------------------------------------------------
// Join By Code Dialog Popup
//--------------------------------------------------------------------------------
"popup_dialog_join_by_code@popup_dialog.modal_input_panel": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"join_by_code_popup_background@play.join_by_code_popup_background": {
// 겹치는 순서(숫자 클수록 위)
"layer": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"join_by_code_popup_content@play.join_by_code_popup_content": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"gamepad_helpers@common.gamepad_helpers_a_and_b": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, "31px" ]
}
}
]
},
// ???/?? ??
"join_by_code_popup_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/control",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// ???
"alpha": 0.6,
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left"
},
// ???/?? ??
"join_by_code_popup_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 200, 90 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "popup_dialog_bg@realms_common.popup_dialog_bg": {} },
{
// ???/?? ??
"popup_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "join_by_code_popup_dialog_header@play.join_by_code_popup_dialog_header": {} },
{
// ???/?? ??
"spacing_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "1px" ]
}
},
{ "join_by_code_popup_dialog_upper_body@play.join_by_code_popup_dialog_upper_body": {} },
{
// ???/?? ??
"spacing_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "10px" ]
}
},
{ "join_by_code_popup_dialog_lower_body@play.join_by_code_popup_dialog_lower_body": {} }
]
}
}
]
},
// ???/?? ??
"join_by_code_popup_dialog_header": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "21%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{ "join_by_code_popup_header_text@play.join_by_code_popup_header_text": {} },
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@common.close_button": {
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점에서 이동하는 거리
"offset": [ -1, 2 ],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_network_join_by_code_close",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_network_join_by_code_close",
// 입력 시점(pressed 등)
"mapping_type": "focused"
}
]
}
}
]
},
// ???/?? ??
"join_by_code_popup_header_text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "networkWorld.joinByCode",
"font_size": "normal",
// ?? (R,G,B,A)
"color": "$title_text_color",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
},
// ???/?? ??
"join_by_code_popup_dialog_upper_body": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "22%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"margin1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "3px", 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"join_by_code_popup_code_text_field@play.join_by_code_popup_code_text_field": {
// 가로/세로 크기
"size": [ "65%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left"
}
},
{
// ???/?? ??
"spacing": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"join_by_code_popup_join_button@play.join_by_code_popup_join_button": {
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left"
}
},
{
// ???/?? ??
"margin2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "3px", 0 ]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"join_by_code_popup_code_text_field@common.text_edit_box": {
// 오버라이드 가능한 변수
"$text_box_name": "#join_by_code_text_edit",
// ?? ?? ?
"max_length": 15,
// 오버라이드 가능한 변수
"$place_holder_text": "networkWorld.realmsHashPlaceholder"
},
// 다른 템플릿을 가져와서 확장(상속)
"join_by_code_popup_join_button@common_buttons.light_text_button": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 오버라이드 가능한 변수
"$button_text": "networkWorld.join",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_network_join_by_code_popup_join",
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "focused"
}
]
},
// ???/?? ??
"join_by_code_popup_help_text": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": [ "95%", "100%" ],
"shadow": false,
// 보여줄 글자
"text": "networkWold.joinByCodeHelpText",
// ?? (R,G,B,A)
"color": "$light_glyph_default_color",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// ?? ??
"text_alignment": "center"
},
// ???/?? ??
"lower_body_default_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"info_text@play.join_by_code_popup_help_text": {
}
}
]
},
// ???/?? ??
"join_by_code_popup_dialog_lower_body": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "fill" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"default@play.lower_body_default_content": {}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"open_account_setting_button@common_buttons.hyperlink_button": {
// 오버라이드 가능한 변수
"$button_text": "permissions.open.account.help.button",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#hyperlink": "https://aka.ms/MCMultiplayerHelp"
},
// 가로/세로 크기
"size": [ "100%", 30 ],
// 완전히 제거(공간도 없음)
"ignored": "$is_holographic",
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#open_uri_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
//---------------------------------------------------------------------------
// High Ping Warning Dialog Popup
//---------------------------------------------------------------------------
// 다른 템플릿을 가져와서 확장(상속)
"popup_dialog_high_ping@popup_dialog.modal_input_panel": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"high_ping_popup_background@play.join_by_code_popup_background": {
// 겹치는 순서(숫자 클수록 위)
"layer": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"high_ping_popup_content@play.popup_two_buttons": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"gamepad_helpers@common.gamepad_helpers_a_and_b": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, "31px" ]
}
}
]
},
// ???/?? ??
"popup_two_buttons": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 250, 170 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 오버라이드 가능한 변수
"$text_name": "networkWorld.highPingWarning.title",
// 오버라이드 가능한 변수
"$child_control": "play.high_ping_popup_content_stack_panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"common_panel@common.common_panel": { "$dialog_background": "dialog_background_hollow_2" }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"title_label@common_dialogs.title_label": {}
},
{
// ???/?? ??
"panel_indent": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// Fit to the hole in dialog_background_hollow_1 exactly
"size": [ "100% - 16px", "100% - 99px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 35 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{ "inside_header_panel@$child_control": {} }
]
}
},
{
// ???/?? ??
"button_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100% - 14px", 30 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -7 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"left_button_panel@play.high_ping_popup_join_button": {
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
},
{
// ???/?? ??
"pad": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 6, "100%" ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"right_button_panel@play.high_ping_popup_cancel_button": {
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
}
]
}
}
]
},
// ???/?? ??
"high_ping_popup_content_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100% - 8px", "100%c" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"pad_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 10 ]
}
},
{
// ???/?? ??
"ping_images_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"ping_images_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", 20 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"medium_connection": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 20, "100%" ],
// 사용할 이미지 경로
"texture": "textures/ui/Ping_Yellow_Dark"
}
},
{
// ???/?? ??
"pad": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 30, "100%" ]
}
},
{
// ???/?? ??
"low_connection": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 20, "100%" ],
// 사용할 이미지 경로
"texture": "textures/ui/Ping_Red_Dark"
}
}
]
}
}
]
}
},
{
// ???/?? ??
"pad_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 10 ]
}
},
{
// ???/?? ??
"text_line_1": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": [ "100%", "default" ],
// ??
"font_type": "smooth",
// 보여줄 글자
"text": "networkWorld.highPingWarning.line1",
// ?? (R,G,B,A)
"color": "$main_header_text_color"
}
},
{
// ???/?? ??
"pad_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 10 ]
}
},
{
// ???/?? ??
"text_line_2": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": [ "100%", "default" ],
// ??
"font_type": "smooth",
// 보여줄 글자
"text": "networkWorld.highPingWarning.line2",
// ?? (R,G,B,A)
"color": "$main_header_text_color"
}
},
{
// ???/?? ??
"pad_3": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 10 ]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"high_ping_popup_join_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.join_server_anyway",
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "focused"
}
],
// 오버라이드 가능한 변수
"$button_text": "networkWorld.join"
},
// 다른 템플릿을 가져와서 확장(상속)
"high_ping_popup_cancel_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.cancel_join_server",
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "focused"
}
],
// 오버라이드 가능한 변수
"$button_text": "gui.cancel"
},
//---------------------------------------------------------------------------
// Editor Mode
//---------------------------------------------------------------------------
"copyright": {
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$main_header_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 보여줄 글자
"text": "menu.copyright",
// 가로/세로 크기
"size": [ "default", 10 ],
"max_size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left"
},
// ???/?? ??
"development_version": {
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$main_header_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 보여줄 글자
"text": "#development_version",
// 가로/세로 크기
"size": [ "default", 10 ],
"max_size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#development_version"
}
]
},
// ???/?? ??
"version": {
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$main_header_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 보여줄 글자
"text": "#version",
// 가로/세로 크기
"size": [ "default", 10 ],
"max_size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#version"
}
]
},
// ???/?? ??
"editor_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%-2px", 10 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -1 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"copyright@play.copyright": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"development_version@play.development_version": {
// 완전히 제거(공간도 없음)
"ignored": "$is_publish"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"version@play.version": {}
}
]
},
// ???/?? ??
"editor_settings_image_content": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 14, 14 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 사용할 이미지 경로
"texture": "textures/ui/icon_setting",
// ?? (R,G,B,A)
"color": "white"
},
// 다른 템플릿을 가져와서 확장(상속)
"editor_settings_menu_button@common_buttons.light_content_button": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 기준점에서 이동하는 거리
"offset": [ 0, -3 ],
// 가로/세로 크기
"size": [ 24, 24 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.editor_settings",
// 오버라이드 가능한 변수
"$button_content": "play.editor_settings_image_content",
// 포커스 이동용 ID
"focus_identifier": "close_button",
// 왼쪽으로 이동할 대상
"focus_change_left": "FOCUS_OVERRIDE_STOP",
// 위로 이동할 대상
"focus_change_up": "FOCUS_OVERRIDE_STOP",
// 오른쪽으로 이동할 대상
"focus_change_right": "FOCUS_OVERRIDE_STOP"
},
// ???/?? ??
"editor_server_content_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 오버라이드 가능한 변수
"$focus_id": "left_panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"more_servers_panel@play.manually_added_servers_scrolling_content": {}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"editor_tab_content_panel_layout@play.common_tab_content_panel_type": {
// 오버라이드 가능한 변수
"$server_scroll_panel_content": "play.editor_server_content_panel",
// 이 안에 들어가는 부품 목록
"controls": [
{ "worlds_tab_content@play.worlds_tab_content_panel": {} },
{ "friends_tab_content@play.friends_tab_content_panel": {} },
{ "server_tab_content_panel@play.server_tab_content_panel": {} }
]
},
// 다른 템플릿을 가져와서 확장(상속)
"editor_play_screen_panel@play.play_screen_panel": {
// 오버라이드 가능한 변수
"$navigation_tab": "play.default_tab_navigation_panel_layout",
// 오버라이드 가능한 변수
"$tab_content_panel": "play.editor_tab_content_panel_layout",
// 보이기/숨기기(공간 유지)
"visible": "(not $is_editor_playtest_roundtrip)"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: scoreboards.json
// 분류: 기본 UI 모음 1 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "scoreboard",
// ???/?? ??
"scoreboard_sidebar_score": {
// 글자 표시
"type": "label",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 가로/세로 크기
"size": [
"default",
10
],
// 보여줄 글자
"text": "#player_score_sidebar",
"shadow": true, //Add shadow so its still readable - Alien
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
"locked_alpha": 1.0,
// ?? (R,G,B,A)
"color": "$player_score_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#player_score_sidebar",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "scoreboard_scores"
}
]
},
// ???/?? ??
"scoreboard_sidebar_player": {
// 글자 표시
"type": "label",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 보여줄 글자
"text": "#player_name_sidebar",
"shadow": true, //Add shadow so its still readable - Alien
// 가로/세로 크기
"size": [
"default",
10
],
"locked_alpha": 1.0,
// ?? (R,G,B,A)
"color": "$player_name_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#player_name_sidebar",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "scoreboard_players"
}
]
},
// ???/?? ??
"scoreboard_sidebar": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%cm",
"100%c"
],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"main": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/Black",
"alpha": 0.0, //Makes background completly transparent - Alien
// 가로/세로 크기
"size": [
"100%cm",
"100%c"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"displayed_objective": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": [
"default",
10
],
// 보여줄 글자
"text": "#objective_sidebar_name",
"shadow": true, //Add shadow so its still readable - Alien
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// ?? ??
"text_alignment": "center",
"inherit_max_sibling_width": true,
"locked_alpha": 1.0,
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ?? (R,G,B,A)
"color": "$objective_title_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#objective_sidebar_name",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// ???/?? ??
"lists": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [
0,
10
],
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"players": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": [
"100%cm",
"100%c"
],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 목록 이름
"collection_name": "scoreboard_players",
// 목록 아이템을 자동으로 생성
"factory": {
"name": "player_list_factory",
// ??? ???
"control_name": "scoreboard.scoreboard_sidebar_player"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#scoreboard_sidebar_size",
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}
]
}
},
{
// ???/?? ??
"scores": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 가로/세로 크기
"size": [
"100%cm",
"100%c"
],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
"use_child_anchors": true,
// 목록 이름
"collection_name": "scoreboard_scores",
// 목록 아이템을 자동으로 생성
"factory": {
"name": "player_score_factory",
// ??? ???
"control_name": "scoreboard.scoreboard_sidebar_score"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#scoreboard_sidebar_size",
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}
]
}
}
]
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#scoreboard_sidebar_visible",
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: settings_screen.json
// 분류: 기본 UI 모음 1 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
/********************************************************
+* (c) Mojang. All rights reserved *
+* (c) Microsoft. All rights reserved. *
+*********************************************************/
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "settings",
// ???/?? ??
"selector_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 오버라이드 가능한 변수
"$default_selector_toggle_index": 0,
// 오버라이드 가능한 변수
"$spatialPatternsPadding": [ 0, 0 ], //Removes padding bellow accessability button - Alien
"ttsSectionContainer": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"spacer_0": {
// 완전히 제거(공간도 없음)
"ignored": "(not $include_world_section)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"accessibility_button@general_section.accessibility_button": {
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$accessibility_forced_index",
// 완전히 제거(공간도 없음)
"ignored": "(not $include_controls_and_settings_sections)"
}
},
{
// ???/?? ??
"spacer_1": {
// 완전히 제거(공간도 없음)
"ignored": "(not $settings_spatial_pattern_fix_enabled)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"how_to_play_button@general_section.how_to_play_button": {
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$how_to_play_index",
// 완전히 제거(공간도 없음)
"ignored": "(not $include_controls_and_settings_sections)"
}
},
// the list of selection toggle buttons, add yours here...
{
// ???/?? ??
"spacer_01": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding",
// 완전히 제거(공간도 없음)
"ignored": "(not $include_world_section or not $settings_spatial_pattern_fix_enabled)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"world_selector_pane@world_section.selector_pane_content": {
// 완전히 제거(공간도 없음)
"ignored": "(not $include_world_section)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"realm_selector_pane@realms_settings.selector_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $include_realm_section)",
// 오버라이드 가능한 변수
"$world_toggle_index": "$world_forced_index",
// 오버라이드 가능한 변수
"$members_toggle_index": "$members_forced_index",
// 오버라이드 가능한 변수
"$subscription_toggle_index": "$subscription_forced_index",
// 오버라이드 가능한 변수
"$backup_toggle_index": "$backup_forced_index",
// 오버라이드 가능한 변수
"$dev_options_toggle_index": "$dev_options_forced_index",
// 오버라이드 가능한 변수
"$invite_links_toggle_index": "$invite_links_forced_index"
}
},
{
// ???/?? ??
"controls_and_settings_selector_pane": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $include_controls_and_settings_sections)",
// 오버라이드 가능한 변수
"$controls_section_header": "options.group.input",
// 오버라이드 가능한 변수
"$social_section_header": "options.social",
// 오버라이드 가능한 변수
"$general_section_header": "stat.generalButton",
// 오버라이드 가능한 변수
"$debug_section_header": "options.debug",
// 오버라이드 가능한 변수
"$spatialPatternsPadding": [ 0, 0 ], //Removes padding between buttons - Alien
// 오버라이드 가능한 변수
"$settingsHeaderSpace": [2, 8], //extra bit of padding on for headings to seperate sections - Alien
// 이 안에 들어가는 부품 목록
"controls": [
// Controls Section //
{
// ???/?? ??
"spacer_1": {
// 완전히 제거(공간도 없음)
"ignored": "(not $settings_spatial_pattern_fix_enabled)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$settingsHeaderSpace"
}
},
{
// ???/?? ??
"spacer_1_no_spatial": {
// 완전히 제거(공간도 없음)
"ignored": "$settings_spatial_pattern_fix_enabled",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 8 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"selector_group_label_1@settings_common.selector_group_label": {
// 보여줄 글자
"text": "$controls_section_header"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"keyboard_and_mouse_button@controls_section.keyboard_and_mouse_button": {
// 완전히 제거(공간도 없음)
"ignored": "(not $keyboard_and_mouse_supported)",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$keyboard_and_mouse_forced_index",
// 오버라이드 가능한 변수
"$tts_section_header": "$controls_section_header"
}
},
{
// ???/?? ??
"spacer_01": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding",
// 완전히 제거(공간도 없음)
"ignored": "(not $gamepad_supported or $nx_os or not $settings_spatial_pattern_fix_enabled)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"controller_button@controls_section.controller_button": {
// 완전히 제거(공간도 없음)
"ignored": "(not $gamepad_supported or $nx_os)",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$controller_and_switch_forced_index",
// 오버라이드 가능한 변수
"$tts_section_header": "$controls_section_header"
}
},
{
// ???/?? ??
"spacer_02": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding",
// 완전히 제거(공간도 없음)
"ignored": "(not $gamepad_supported or not $nx_os or not $settings_spatial_pattern_fix_enabled)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"switch_controller_button@controls_section.controller_button": {
// 완전히 제거(공간도 없음)
"ignored": "(not $gamepad_supported or not $nx_os)",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$controller_and_switch_forced_index",
// 오버라이드 가능한 변수
"$glyph_texture": "textures/ui/controller_glyph_switch",
// 오버라이드 가능한 변수
"$glyph_color_texture": "textures/ui/controller_glyph_color_switch",
// 오버라이드 가능한 변수
"$tts_section_header": "$controls_section_header"
}
},
{
// ???/?? ??
"spacer_03": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding",
// 완전히 제거(공간도 없음)
"ignored": "(not $touch_supported or $nx_os or not $settings_spatial_pattern_fix_enabled)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"touch_button@controls_section.touch_button": {
// 완전히 제거(공간도 없음)
"ignored": "(not $touch_supported or $nx_os)",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$touch_forced_index",
// 오버라이드 가능한 변수
"$tts_section_header": "$controls_section_header"
}
},
// Social Section //
{
// ???/?? ??
"spacer_04": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding",
// 완전히 제거(공간도 없음)
"ignored": "($education_edition or not $party_settings_enabled or not $settings_spatial_pattern_fix_enabled)"
}
},
{
// ???/?? ??
"spacer_04_no_spatial": {
// 완전히 제거(공간도 없음)
"ignored": "($education_edition or not $party_settings_enabled or $settings_spatial_pattern_fix_enabled)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 8 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"selector_group_label_2@settings_common.selector_group_label": {
// 보여줄 글자
"text": "$social_section_header",
// 완전히 제거(공간도 없음)
"ignored": "($education_edition or not $party_settings_enabled)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"party_button@social_section.party_button": {
// 완전히 제거(공간도 없음)
"ignored": "($education_edition or not $party_settings_enabled)",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$party_forced_index",
// 오버라이드 가능한 변수
"$tts_section_header": "$social_section_header"
}
},
// General Section //
{
// ???/?? ??
"spacer_05": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$settingsHeaderSpace",
// 완전히 제거(공간도 없음)
"ignored": "(not $settings_spatial_pattern_fix_enabled)"
}
},
{
// ???/?? ??
"spacer_05_no_spatial": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 8 ],
// 완전히 제거(공간도 없음)
"ignored": "$settings_spatial_pattern_fix_enabled"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"selector_group_label_3@settings_common.selector_group_label": {
// 보여줄 글자
"text": "$general_section_header"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"general_button@general_section.general_button": {
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$general_forced_index",
// 오버라이드 가능한 변수
"$tts_section_header": "$general_section_header"
}
},
{
// ???/?? ??
"spacer_06": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding",
// 완전히 제거(공간도 없음)
"ignored": "(not $settings_spatial_pattern_fix_enabled)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"video_button@general_section.video_button": {
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$video_forced_index",
// 오버라이드 가능한 변수
"$tts_section_header": "$general_section_header"
}
},
{
// ???/?? ??
"spacer_07": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding",
// 완전히 제거(공간도 없음)
"ignored": "(not $settings_spatial_pattern_fix_enabled)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"sound_button@general_section.sound_button": {
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$sound_forced_index",
// 오버라이드 가능한 변수
"$tts_section_header": "$general_section_header"
}
},
{
// ???/?? ??
"spacer_08": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding",
// 완전히 제거(공간도 없음)
"ignored": "(not $settings_spatial_pattern_fix_enabled)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"account_button@general_section.account_button": {
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$account_forced_index",
// 오버라이드 가능한 변수
"$tts_section_header": "$general_section_header"
}
},
{
// ???/?? ??
"spacer_09": {
// 완전히 제거(공간도 없음)
"ignored": "($is_editor_mode_enabled or not $settings_spatial_pattern_fix_enabled)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#should_show_subscription_tab",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"view_subscriptions_button@general_section.view_subscriptions_button": {
// 완전히 제거(공간도 없음)
"ignored": "$is_editor_mode_enabled",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$view_subscriptions_forced_index",
// 오버라이드 가능한 변수
"$tts_section_header": "$general_section_header",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#should_show_subscription_tab",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"spacer_10": {
// 완전히 제거(공간도 없음)
"ignored": "($ignore_global_resources_section or not $settings_spatial_pattern_fix_enabled)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"global_texture_pack_button@general_section.global_texture_pack_button": {
// 완전히 제거(공간도 없음)
"ignored": "$ignore_global_resources_section",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$global_texture_pack_forced_index",
// 보이기/숨기기(공간 유지)
"visible": "($is_global_texture_packs_visible)",
// 오버라이드 가능한 변수
"$tts_section_header": "$general_section_header"
}
},
{
// ???/?? ??
"spacer_11": {
// 완전히 제거(공간도 없음)
"ignored": "($ignore_storage_section or not $is_pregame or not $settings_spatial_pattern_fix_enabled)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"storage_management_button@general_section.storage_management_button": {
// 완전히 제거(공간도 없음)
"ignored": "$ignore_storage_section",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$storage_management_forced_index",
// 오버라이드 가능한 변수
"$tts_section_header": "$general_section_header"
}
},
{
// ???/?? ??
"spacer_12": {
// 완전히 제거(공간도 없음)
"ignored": "(not $education_edition or not $edu_save_to_cloud_on or not $settings_spatial_pattern_fix_enabled)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"edu_cloud_storage_button@general_section.edu_cloud_storage_button": {
// 완전히 제거(공간도 없음)
"ignored": "(not $education_edition or not $edu_save_to_cloud_on)",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$edu_cloud_storage_forced_index",
// 오버라이드 가능한 변수
"$tts_section_header": "$general_section_header"
}
},
{
// ???/?? ??
"spacer_13": {
// 완전히 제거(공간도 없음)
"ignored": "(not $is_pregame or not $settings_spatial_pattern_fix_enabled)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"language_button@general_section.language_button": {
// 완전히 제거(공간도 없음)
"ignored": "(not $is_pregame)",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$language_forced_index",
// 오버라이드 가능한 변수
"$tts_section_header": "$general_section_header"
}
},
{
// ???/?? ??
"spacer_14": {
// 완전히 제거(공간도 없음)
"ignored": "(not $settings_spatial_pattern_fix_enabled)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"creator_button@general_section.creator_button": {
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$creator_forced_index",
// 오버라이드 가능한 변수
"$tts_section_header": "$general_section_header"
}
},
{
// ???/?? ??
"spacer_15": {
// 완전히 제거(공간도 없음)
"ignored": "(not $show_preview_button or not $settings_spatial_pattern_fix_enabled)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"preview_button@general_section.preview_button": {
// 완전히 제거(공간도 없음)
"ignored": "(not $show_preview_button)",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$preview_forced_index",
// 오버라이드 가능한 변수
"$tts_section_header": "$general_section_header"
}
},
// Debug Section //
{
// ???/?? ??
"spacer_4": {
// 완전히 제거(공간도 없음)
"ignored": "($is_publish or not $settings_spatial_pattern_fix_enabled)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// ???/?? ??
"spacer_4_no_spatial": {
// 완전히 제거(공간도 없음)
"ignored": "($is_publish or $settings_spatial_pattern_fix_enabled)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 8 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"selector_group_label_4@settings_common.selector_group_label": {
// 완전히 제거(공간도 없음)
"ignored": "$is_publish",
// 보여줄 글자
"text": "$debug_section_header"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"debug_button@general_section.debug_button": {
// 완전히 제거(공간도 없음)
"ignored": "(not $debug_settings)",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$debug_forced_index",
// 오버라이드 가능한 변수
"$tts_section_header": "$general_section_header"
}
},
{
// ???/?? ??
"spacer_16": {
// 완전히 제거(공간도 없음)
"ignored": "($is_publish or not $settings_spatial_pattern_fix_enabled)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"discovery_debug_button@general_section.discovery_debug_button": {
// 완전히 제거(공간도 없음)
"ignored": "$is_publish",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$discovery_debug_forced_index",
// 오버라이드 가능한 변수
"$tts_section_header": "$general_section_header"
}
},
{
// ???/?? ??
"spacer_17": {
// 완전히 제거(공간도 없음)
"ignored": "(not $debug_settings or not $settings_spatial_pattern_fix_enabled)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"ui_debug_button@general_section.ui_debug_button": {
// 완전히 제거(공간도 없음)
"ignored": "(not $debug_settings)",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$ui_debug_forced_index",
// 오버라이드 가능한 변수
"$tts_section_header": "$general_section_header"
}
},
{
// ???/?? ??
"spacer_18": {
// 완전히 제거(공간도 없음)
"ignored": "((not $debug_settings) or $creator_build or (not $education_edition) or not $settings_spatial_pattern_fix_enabled)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"edu_debug_button@general_section.edu_debug_button": {
// 완전히 제거(공간도 없음)
"ignored": "((not $debug_settings) or $creator_build or (not $education_edition))",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$edu_debug_forced_index",
// 오버라이드 가능한 변수
"$tts_section_header": "$general_section_header"
}
},
{
// ???/?? ??
"spacer_19": {
// 완전히 제거(공간도 없음)
"ignored": "(not $debug_settings or not $settings_spatial_pattern_fix_enabled)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"marketplace_debug_button@general_section.marketplace_debug_button": {
// 완전히 제거(공간도 없음)
"ignored": "(not $debug_settings)",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$marketplace_debug_forced_index",
// 오버라이드 가능한 변수
"$tts_section_header": "$general_section_header"
}
},
{
// ???/?? ??
"spacer_20": {
// 완전히 제거(공간도 없음)
"ignored": "(not $debug_settings or not $settings_spatial_pattern_fix_enabled)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"gatherings_debug_button@general_section.gatherings_debug_button": {
// 완전히 제거(공간도 없음)
"ignored": "(not $debug_settings)",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$gatherings_debug_forced_index",
// 오버라이드 가능한 변수
"$tts_section_header": "$general_section_header"
}
},
{
// ???/?? ??
"spacer_21": {
// 완전히 제거(공간도 없음)
"ignored": "(not $debug_settings or not $settings_spatial_pattern_fix_enabled)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"flighting_debug_button@general_section.flighting_debug_button": {
// 완전히 제거(공간도 없음)
"ignored": "(not $debug_settings)",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$flighting_debug_forced_index",
// 오버라이드 가능한 변수
"$tts_section_header": "$general_section_header"
}
},
{
// ???/?? ??
"spacer_22": {
// 완전히 제거(공간도 없음)
"ignored": "(not $debug_settings or not $settings_spatial_pattern_fix_enabled)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_debug_button@general_section.realms_debug_button": {
// 완전히 제거(공간도 없음)
"ignored": "(not $debug_settings)",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$realms_debug_forced_index",
// 오버라이드 가능한 변수
"$tts_section_header": "$general_section_header"
}
},
{
// ???/?? ??
"spacer_23": {
// 완전히 제거(공간도 없음)
"ignored": "($is_publish or $test_infrastructure_disabled or not $settings_spatial_pattern_fix_enabled)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"automation_button@general_section.automation_button": {
// 완전히 제거(공간도 없음)
"ignored": "($is_publish or $test_infrastructure_disabled)",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$automation_forced_index",
// 오버라이드 가능한 변수
"$tts_section_header": "$general_section_header"
}
}
]
}
},
{
// ???/?? ??
"spacer_24": {
// 완전히 제거(공간도 없음)
"ignored": "(not $include_world_section and (not $include_realm_section or not $realms_pack_feature_enabled) or not $settings_spatial_pattern_fix_enabled)",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"addons_selector_panel@world_section.addons_selector_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $include_world_section and (not $include_realm_section or not $realms_pack_feature_enabled))",
// 오버라이드 가능한 변수
"$level_texture_pack_toggle_index": "$level_texture_pack_index",
// 오버라이드 가능한 변수
"$addon_toggle_index": "$addon_index"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_invite_link_settings_pane@realms_invite_link_settings.selector_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $include_realm_invite_link_settings)",
// 오버라이드 가능한 변수
"$general_toggle_index": "$general_invite_link_forced_index",
// 오버라이드 가능한 변수
"$advanced_toggle_index": "$advanced_invite_link_forced_index"
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: stonecutter_screen.json
// 분류: 기본 UI 모음 1 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "stonecutter",
// 다른 템플릿을 가져와서 확장(상속)
"toolbar_panel@common.root_panel": {
// 가로/세로 크기
"size": [
"100%c",
20
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"toolbar_background@stonecutter.toolbar_background": {
// 가로/세로 크기
"size": [
"100%cm",
"100% + 8px"
],
// 기준점에서 이동하는 거리
"offset": [
0,
-3
],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"toolbar_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"default",
"100% - 8px"
],
// 기준점에서 이동하는 거리
"offset": [
0,
3
],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
6,
0
]
}
},
//{
// "help_button_panel": {
// "type": "panel",
// "size": [ "100%c", "100%" ],
// "controls": [
// { "help_button@stonecutter.help_button": {} }
// ]
// }
//},
//Hide how to play button - Alien
{
// ???/?? ??
"close_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%c",
"100%"
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#close_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@common.light_close_button": {
// 가로/세로 크기
"size": [
"100%cm",
"100%cm"
],
// 기준점에서 이동하는 거리
"offset": [
0,
0
],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
}
},
{
// ???/?? ??
"padding_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
6,
0
]
}
}
]
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: trade_2_screen.json
// 분류: 기본 UI 모음 1 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "trade2",
// ???/?? ??
"top_half_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"item_slots_holder": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%c",
"100%c"
],
"inherit_max_sibling_height": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"item_slots_stack_panel@trade2.item_slots_stack_panel": {}
}
]
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
1,
0
]
}
},
{
// ???/?? ??
"trade_button_holder": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%c",
0
],
"inherit_max_sibling_height": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"trade_button@trade2.trade_button": {}
}
]
}
}
//{
// "how_to_play_button_holder": {
// "type": "panel",
// "size": [ "100%c - 1px", 0 ],
// "inherit_max_sibling_height": true,
// "controls": [
// {
// "how_to_play_button@trade2.how_to_play_button": {
// "anchor_from": "right_middle",
// "anchor_to": "right_middle"
// }
// }
// ]
// }
//}
//Hide how to play button - Alien
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: trade_2_screen_pocket.json
// 분류: 기본 UI 모음 1 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "trade2_pocket",
// ???/?? ??
"trade_and_help_buttons": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [
"100%",
32
],
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"trade_button_holder": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"fill",
"100%"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"trade_button@trade2.trade_button": {
// 가로/세로 크기
"size": [
"100%",
"100%"
]
}
}
]
}
}
//{
// "how_to_play_button_holder": {
// "type": "panel",
// "size": [ "100%c - 1px", "100%" ],
// "controls": [
// {
// "how_to_play_button@trade2.how_to_play_button": {
// "size": [ 32, "100%" ],
// "anchor_from": "right_middle",
// "anchor_to": "right_middle",
// "$button_font_size": "large",
// "$button_text_max_size": [ "100%", 16 ]
// }
// }
// ]
// }
//}
//Hide how to play button - Alien
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: ui_common.json
// 분류: 기본 UI 모음 1 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "common",
//---------------------------------------------------------------------------
// Common controls
//---------------------------------------------------------------------------
"screen_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/screen_background",
// 겹치는 순서(숫자 클수록 위)
"layer": -10,
// 완전히 제거(공간도 없음)
"ignored": "$is_holographic",
// 오버라이드 가능한 변수
"$screen_background_alpha|default": 0.75,
"alpha": 0 //Makes some backgrounds invisible (inventory background, pause screen background)
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: general_section.json
// 분류: 기본 UI 모음 1 / settings sections
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
/********************************************************
+* (c) Mojang. All rights reserved *
+* (c) Microsoft. All rights reserved. *
+*********************************************************/
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "general_section",
// ???/?? ??
"sound_section": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 오버라이드 가능한 변수
"$spatialPatternsPadding": [ 20, 20 ], // Less padding between sliders - Alien
// 오버라이드 가능한 변수
"$audioSlidersSize": [ "75% - 2px", 16 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "sound_button_toggle",
// 계산식/참조 값
"source_property_name": "(#toggle_state and not $use_ore_ui_settings_audio)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
// Add some padding between the buttons/toggles to reduce the impression upon the eyes. (ADO:515619)
{
// ???/?? ??
"paddingMainVolume": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"option_slider_0@settings_common.option_slider": {
// 가로/세로 크기
"size": "$audioSlidersSize",
// 오버라이드 가능한 변수
"$option_label": "#main_volume_slider_label",
// 오버라이드 가능한 변수
"$slider_name": "main_volume",
// 오버라이드 가능한 변수
"$slider_value_binding_name": "#main_volume",
// 오버라이드 가능한 변수
"$slider_tts_text_value": "#main_volume_text_value",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#main_volume_enabled",
// 오버라이드 가능한 변수
"$focus_override_up": "FOCUS_OVERRIDE_STOP",
// 오버라이드 가능한 변수
"$label_bindings": [
{
// 가져올 값 이름
"binding_name": "$option_label"
}
]
}
},
//Add some padding between the buttons/toggles to reduce the impression upon the eyes. (ADO:515619)
{
// ???/?? ??
"paddingDividerAudioSettings": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [5, 5] // Slightly extra padding to seperate main volume from individuals - Alien
}
},
{
// ???/?? ??
"dividerAudioSettings": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c + 14px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"section_divider": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100% - 30px", 1 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 사용할 이미지 경로
"texture": "textures/ui/list_item_divider_line_light"
}
}
]
}
},
// Add some padding between the buttons/toggles to reduce the impression upon the eyes. (ADO:515619)
{
// ???/?? ??
"paddingMusic": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [5, 5]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"option_slider_1@settings_common.option_slider": {
// 가로/세로 크기
"size": "$audioSlidersSize",
// 오버라이드 가능한 변수
"$option_label": "#music_volume_slider_label",
// 오버라이드 가능한 변수
"$slider_name": "music_volume",
// 오버라이드 가능한 변수
"$slider_value_binding_name": "#music_volume",
// 오버라이드 가능한 변수
"$slider_tts_text_value": "#music_volume_text_value",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#music_volume_enabled",
// 오버라이드 가능한 변수
"$label_bindings": [
{
// 가져올 값 이름
"binding_name": "$option_label"
}
]
}
},
// Add some padding between the buttons/toggles to reduce the impression upon the eyes. (ADO:515619)
{
// ???/?? ??
"paddingSound": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"option_slider_2@settings_common.option_slider": {
// 가로/세로 크기
"size": "$audioSlidersSize",
// 오버라이드 가능한 변수
"$option_label": "#sound_volume_slider_label",
// 오버라이드 가능한 변수
"$slider_name": "sound_volume",
// 오버라이드 가능한 변수
"$slider_value_binding_name": "#sound_volume",
// 오버라이드 가능한 변수
"$slider_tts_text_value": "#sound_volume_text_value",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#sound_volume_enabled",
// 오버라이드 가능한 변수
"$label_bindings": [
{
// 가져올 값 이름
"binding_name": "$option_label"
}
]
}
},
// Add some padding between the buttons/toggles to reduce the impression upon the eyes. (ADO:515619)
{
// ???/?? ??
"paddingAmbient": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"option_slider_3@settings_common.option_slider": {
// 가로/세로 크기
"size": "$audioSlidersSize",
// 오버라이드 가능한 변수
"$option_label": "#ambient_volume_slider_label",
// 오버라이드 가능한 변수
"$slider_name": "ambient_volume",
// 오버라이드 가능한 변수
"$slider_value_binding_name": "#ambient_volume",
// 오버라이드 가능한 변수
"$slider_tts_text_value": "#ambient_volume_text_value",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#ambient_volume_enabled",
// 오버라이드 가능한 변수
"$label_bindings": [
{
// 가져올 값 이름
"binding_name": "$option_label"
}
]
}
},
// Add some padding between the buttons/toggles to reduce the impression upon the eyes. (ADO:515619)
{
// ???/?? ??
"paddingBlockVolume": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"option_slider_4@settings_common.option_slider": {
// 가로/세로 크기
"size": "$audioSlidersSize",
// 오버라이드 가능한 변수
"$option_label": "#block_volume_slider_label",
// 오버라이드 가능한 변수
"$slider_name": "block_volume",
// 오버라이드 가능한 변수
"$slider_value_binding_name": "#block_volume",
// 오버라이드 가능한 변수
"$slider_tts_text_value": "#block_volume_text_value",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#block_volume_enabled",
// 오버라이드 가능한 변수
"$label_bindings": [
{
// 가져올 값 이름
"binding_name": "$option_label"
}
]
}
},
// Add some padding between the buttons/toggles to reduce the impression upon the eyes. (ADO:515619)
{
// ???/?? ??
"paddingHostile": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"option_slider_5@settings_common.option_slider": {
// 가로/세로 크기
"size": "$audioSlidersSize",
// 오버라이드 가능한 변수
"$option_label": "#hostile_volume_slider_label",
// 오버라이드 가능한 변수
"$slider_name": "hostile_volume",
// 오버라이드 가능한 변수
"$slider_value_binding_name": "#hostile_volume",
// 오버라이드 가능한 변수
"$slider_tts_text_value": "#hostile_volume_text_value",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#hostile_volume_enabled",
// 오버라이드 가능한 변수
"$label_bindings": [
{
// 가져올 값 이름
"binding_name": "$option_label"
}
]
}
},
// Add some padding between the buttons/toggles to reduce the impression upon the eyes. (ADO:515619)
{
// ???/?? ??
"paddingNeutralVolume": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"option_slider_6@settings_common.option_slider": {
// 가로/세로 크기
"size": "$audioSlidersSize",
// 오버라이드 가능한 변수
"$option_label": "#neutral_volume_slider_label",
// 오버라이드 가능한 변수
"$slider_name": "neutral_volume",
// 오버라이드 가능한 변수
"$slider_value_binding_name": "#neutral_volume",
// 오버라이드 가능한 변수
"$slider_tts_text_value": "#neutral_volume_text_value",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#neutral_volume_enabled",
// 오버라이드 가능한 변수
"$label_bindings": [
{
// 가져올 값 이름
"binding_name": "$option_label"
}
]
}
},
// Add some padding between the buttons/toggles to reduce the impression upon the eyes. (ADO:515619)
{
// ???/?? ??
"paddingPlayervolume": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"option_slider_7@settings_common.option_slider": {
// 가로/세로 크기
"size": "$audioSlidersSize",
// 오버라이드 가능한 변수
"$option_label": "#player_volume_slider_label",
// 오버라이드 가능한 변수
"$slider_name": "player_volume",
// 오버라이드 가능한 변수
"$slider_value_binding_name": "#player_volume",
// 오버라이드 가능한 변수
"$slider_tts_text_value": "#player_volume_text_value",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#player_volume_enabled",
// 오버라이드 가능한 변수
"$label_bindings": [
{
// 가져올 값 이름
"binding_name": "$option_label"
}
]
}
},
// Add some padding between the buttons/toggles to reduce the impression upon the eyes. (ADO:515619)
{
// ???/?? ??
"paddingRecordVolume": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"option_slider_8@settings_common.option_slider": {
// 가로/세로 크기
"size": "$audioSlidersSize",
// 오버라이드 가능한 변수
"$option_label": "#record_volume_slider_label",
// 오버라이드 가능한 변수
"$slider_name": "record_volume",
// 오버라이드 가능한 변수
"$slider_value_binding_name": "#record_volume",
// 오버라이드 가능한 변수
"$slider_tts_text_value": "#record_volume_text_value",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#record_volume_enabled",
// 오버라이드 가능한 변수
"$label_bindings": [
{
// 가져올 값 이름
"binding_name": "$option_label"
}
]
}
},
// Add some padding between the buttons/toggles to reduce the impression upon the eyes. (ADO:515619)
{
// ???/?? ??
"paddingWeatherVolume": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"option_slider_9@settings_common.option_slider": {
// 가로/세로 크기
"size": "$audioSlidersSize",
// 오버라이드 가능한 변수
"$option_label": "#weather_volume_slider_label",
// 오버라이드 가능한 변수
"$slider_name": "weather_volume",
// 오버라이드 가능한 변수
"$slider_value_binding_name": "#weather_volume",
// 오버라이드 가능한 변수
"$slider_tts_text_value": "#weather_volume_text_value",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#weather_volume_enabled",
// 오버라이드 가능한 변수
"$label_bindings": [
{
// 가져올 값 이름
"binding_name": "$option_label"
}
]
}
},
// Add some padding between the buttons/toggles to reduce the impression upon the eyes. (ADO:515619)
{
// ???/?? ??
"paddingTTSVolume": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"option_slider_10@settings_common.option_slider": {
// 가로/세로 크기
"size": "$audioSlidersSize",
// 오버라이드 가능한 변수
"$option_label": "#texttospeech_volume_slider_label",
// 오버라이드 가능한 변수
"$slider_name": "texttospeech_volume",
// 오버라이드 가능한 변수
"$slider_value_binding_name": "#texttospeech_volume",
// 오버라이드 가능한 변수
"$slider_tts_text_value": "#texttospeech_volume_text_value",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#texttospeech_volume_enabled",
// 오버라이드 가능한 변수
"$label_bindings": [
{
// 가져올 값 이름
"binding_name": "$option_label"
}
]
}
},
// Add some padding between the buttons/toggles to reduce the impression upon the eyes. (ADO:515619)
{
// ???/?? ??
"paddingResetVolumes": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"reset_button@settings_common.action_button": {
// 완전히 제거(공간도 없음)
"ignored": "(not $is_pregame)",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.reset_settings",
// 오버라이드 가능한 변수
"$button_text": "options.resetSettings",
// 오버라이드 가능한 변수
"$focus_override_down": "FOCUS_OVERRIDE_STOP",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
"reset_group": "audio"
}
}
},
// Add some padding between the buttons/toggles to reduce the impression upon the eyes. (ADO:515619)
{
// ???/?? ??
"paddingEndOfList": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$spatialPatternsPadding"
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: settings_common.json
// 분류: 기본 UI 모음 1 / settings sections
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "settings_common",
// ???/?? ??
"settings_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
// Adding fill background color for all settings.
{
// ???/?? ??
"background": {
// 오버라이드 가능한 변수
"$layer|default": -1,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($is_realm_slot or $realm_no_world_edit)",
// 오버라이드 가능한 변수
"$layer": -2
}
],
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
"keep_ratio": false,
// 가로/세로 크기
"size": [
"100%",
"100%sm"
],
// ?? (R,G,B,A)
"color": [
0.192,
0.196,
0.2
], // First test: [0.239, 0.204, 0.204]
// 기준점에서 이동하는 거리
"offset": [
0,
0
],
// 겹치는 순서(숫자 클수록 위)
"layer": "$layer",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
"alpha": 0 //Makes texture transparent - Alien
}
},
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"content_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"fill"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"common_panel@common.fullscreen_header": {
// 오버라이드 가능한 변수
"$dialog_background": "dialog_background_hollow_3"
}
},
{
// ???/?? ??
"container": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"100% - 4px"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"$dialog_content@$dialog_content": {}
}
]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"popup_dialog_factory": {
// 리스트를 자동으로 생성하는 공장
"type": "factory",
// 팩토리 템플릿 매핑
"control_ids": {
"purchase_failed": "@realms_create.popup_dialog__purchase_failed",
"purchase_in_progress": "@realms_create.popup_dialog__purchase_in_progress",
"share_by_link": "@realms_allowlist.popup_dialog__share_by_link",
"options_modal": "@realms_allowlist.popup_dialog__options",
"backups_modal": "@realms_settings.popup_dialog__backups",
"sign_out_fail": "@general_section.sign_out_fail_popup",
"edu_onedrive_error": "@general_section.edu_cloud_onedrive_error_popup"
}
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: _global_variables.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 오버라이드 가능한 변수
"$rainbowpieui_ci": false,
// 오버라이드 가능한 변수
"$rainbowpieui_commit_id": "local~hash",
// 오버라이드 가능한 변수
"$rainbowpieui_branch_type": "release",
// 오버라이드 가능한 변수
"$rainbowpieui_branch_name": "local~branch",
// 오버라이드 가능한 변수
"$rainbowpieui_branch_display_name": "Release",
// 오버라이드 가능한 변수
"$rainbowpieui_engine_version": "211000",
// 오버라이드 가능한 변수
"$rainbowpieui_patch_version": "10550",
// 오버라이드 가능한 변수
"$rainbowpieui_hotfix_version": "1",
// 오버라이드 가능한 변수
"$rainbowpieui_engine_version_name": "2.11",
// 오버라이드 가능한 변수
"$rainbowpieui_full_version_name": "2.11.10550.master",
// 오버라이드 가능한 변수
"$rainbowpieui_codename": "cookiecat",
// 오버라이드 가능한 변수
"$rainbowpieui_watermark": true,
// 오버라이드 가능한 변수
"$rainbowpieui_bool": true,
// 오버라이드 가능한 변수
"$rainbowpieui_version_minecraft_subpacks": "v1.21.11x",
// 오버라이드 가능한 변수
"$rainbowpieui_version_minecraft_target": "v1.21.113",
// 오버라이드 가능한 변수
"$rainbowpieui_version_minecraft_bigver": "v1.21",
// 오버라이드 가능한 변수
"$rainbowpieui_version_minecraft_max": "v1.21.119",
// 오버라이드 가능한 변수
"$rainbowpieui_version_minecraft_min": "v1.21.110",
// 오버라이드 가능한 변수
"$mintui_bool": true,
// 오버라이드 가능한 변수
"$mintui_base_name": "MintUI",
// 오버라이드 가능한 변수
"$mintui_base_branch": "cookiecat",
// 오버라이드 가능한 변수
"$mintui_base_major_version": "3",
// 오버라이드 가능한 변수
"$mintui_base_minor_version": "2",
// 오버라이드 가능한 변수
"$mintui_base_version": "3172",
// 오버라이드 가능한 변수
"$mintui_pack_name": "Rainbow Pie UI",
// 오버라이드 가능한 변수
"$mintui_pack_description": "Minecraft UI Pack\n§ehttps://mintraspberry.cool/rainbowpieui",
// 오버라이드 가능한 변수
"$mintui_pack_uuid": "82d610e8-0968-4c0a-a47e-38e6663ee6ff",
// 오버라이드 가능한 변수
"$mintui_pack_version": "2.11.10550",
// String
"$rainbowpie_ui_string_about_description": "This UI made by Mintraspberry Cool with VSCode.\nOpen source so that everyone can use it freely.\nGithub: §ehttps://github.com/MintCoolMC/MCBE_RainbowPieUI2§r\nIf you want to support me, check out the link below.\n§ehttps://mintraspberry.cool/donate§r",
// Alert
"$rainbowpie_ui_alert_enabled": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_alert_title": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_alert_text": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_animation_container_transition_time": 0.25,
// 오버라이드 가능한 변수
"$rainbowpie_ui_animation_container_transition_effect_exit": "out_quart",
// 오버라이드 가능한 변수
"$rainbowpie_ui_animation_container_transition_effect_entrance": "out_quart",
// 오버라이드 가능한 변수
"$rainbowpie_ui_animation_container_v2_transition_time": 0.25,
// 오버라이드 가능한 변수
"$rainbowpie_ui_animation_container_v2_transition_effect_exit": "out_quart",
// 오버라이드 가능한 변수
"$rainbowpie_ui_animation_container_v2_transition_effect_entrance": "out_quart",
// 오버라이드 가능한 변수
"$rainbowpie_ui_animation_transition_time": 0.25,
// 오버라이드 가능한 변수
"$rainbowpie_ui_animation_header_transition_effect_exit": "out_quart",
// 오버라이드 가능한 변수
"$rainbowpie_ui_animation_header_transition_effect_entrance": "out_quart",
// 오버라이드 가능한 변수
"$rainbowpie_ui_animation_transition_effect_exit": "out_quart",
// 오버라이드 가능한 변수
"$rainbowpie_ui_animation_transition_effect_entrance": "out_quart",
// 오버라이드 가능한 변수
"$rainbowpie_ui_animation_chat_transition_time": 0.25,
// Flags
"$rainbowpie_ui_flag_resourcepack_identifier": "", // 兼容其他资源包时的标记
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_resourcepack_displayname": "", // 兼容其他资源包时的显示名称
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_identifier": "", // 兼容服务器时的标记
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_displayname": "", // 兼容服务器时的显示名称
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_notification_features_disabled": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_notification_features_disabled_reason": "", // resourcepack; server
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_infomation_enabled": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_infomation_logo_name": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_infomation_server_name": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_infomation_link_website": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_infomation_link_support": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_infomation_description": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_custom_server_icon": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_custom_server_icon_name": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_bg_mask_ingame": true, // 在游戏内是否显示mask
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_bg_mask": true, // 在游戏外是否显示mask
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_overlay_screen": "toast_screen.toast_screen_content,debug_screen.content_panel,hud.hud_content,", // 覆盖界面
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_overlay_screen_alias": "debug_screen,toast_screen,hud,", // 覆盖界面
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_watermark_ignore": "release,prerelease",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_watermark_awalys": "dev",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_settings_account_panel": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_settings_quick_perspective": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_tablist_selfTag": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_play_bottom_panel": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_about_verison_infomation": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_pause_myinfo_disabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_pause_tab_scoreboard": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_pause_quit_doubleclick": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_hud_hotbar_mode": 1,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_hud_hidehud_clickspace": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_hud_chat_halfscreen": true, // Chat Panel Half Screen
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_hud_hotbar_rounded": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_hud_expbar_empty_text": "o.0", // When exp is empty, display this text
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_icon_maker": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_input_enable_profanity_filter": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_dropdown_default_show_button": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_disconnect_ui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_inventory_debug": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_persona_debug": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_disable_spatial_pattern_fix": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_inventory_cell_highlight_border": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_start_splash_text": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_pause_splash_text": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_dialog_ingame_oqaque": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_inventory_oqaque": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_chat_use_ui_font": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_form_force": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_host_options_advanced": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_chat_message_profanity_filter": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_start_dialog_alert": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_start_dialog_alert_title": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_start_dialog_alert_text": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_start_dialog_alert_button": "gui.ok",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_start_design02_gradient": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_start_pixelart": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_start_gathering_panel_ignored": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_start_gathering_denylist": "SoulSteel,", // hide gathering panel for these button texts
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_durabilityview_title": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_screenbackground_gradient": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_ingamebackground_gradient": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_inventorybackground_gradient": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_scoreboard_default_font": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_chatui_default_font": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_hudtitle_default_font": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_huditemname_default_font": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_hudbossname_default_font": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_flying_item_renderer": false, // Use flying_item_renderer on mouse mode
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_sign_edit_preview_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_hud_durability_warning": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_inventory_compass_postion": 1, // 0:TOP 1:BOTTOM
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_inventory_stack_count_font": "OldSmoothFont",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_disable_custom_chat_ui": false,
// Item ID Flags
"$rainbowpie_ui_flag_item_clock_id": 419,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_item_compass_id": 417,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_item_recovery_compass_id": 682,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_item_chest": 54,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_item_hopper": 560,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_item_dropper": 125,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_item_dispenser": 23,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_item_crafter": -313,
// Unnamed Flags
"$rainbowpie_ui_flag_71042f58": false, // Disable background on selector
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_54edd49d": true, // Resource Packs Tab Mode
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_840d1a5c": true, // Resource Packs Hide More
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_8dcce82d": true, // StartV2 UI
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_6d2ac350": true, // New chat for touch
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_6bb756a3": true, // New dialog style for popup dialog
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_b3c44822": true, // Rainbow Pie UI Chat Settings
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_0ffd0593": false, // HUD Paper doll
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_d9ed3763": true, // New HUD Tab list
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_82f66bc6": false, // Chat Extra Message Panel Animation
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_84d26622": true, // Show All dropdown
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_688c902f": true, // All dropdown using rainbowpie style
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_d39385b8": false, // Dialog style DisconnectUI
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_05aab186": true, // Hide Recommended Skin Packs
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_d28dfac0": true, // Persona Screen Blur Panel
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_ca81cc28": true, // Trade2 Result Item Name Panel
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_e9c6dfdb": true, // Storage management Tab
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_d36e5f2a": false, // InGame dialog background
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_86c54726": true, // Custom HoverText
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_a3a3e4ee": true, // Background Noise
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_1dc354bd": false, // InGame Background Noise
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_3f247b1e": false, // Dialog Title Center
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_3f611894": false, // Inventory Title Center
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_9ce040c1": true, // Inventory Durability Panel
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_84df7492": true, // New UI animation for inventory and containers (InventoryUI)
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_149baa36": true, // Set hud chat max line to 10
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_fbadd01f": false, // StartV2 UI animations
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_be13f8d7": true, // StartV2 UI Get Started Button
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_135972c6": true, // UI Error Check
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_82d2c0e7": true, // Background Information
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_1c167cde": false, // Start V2 Topbar
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_282dd0a5": true, // StartUI Back To Vanilla Button
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_56cd0456": true, // PauseUI Back To Vanilla Button
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_3e35fb2e": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_3520da91": true, // EASTER EGGS
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_9920f05c": true, // Inventory UI Compass Panel
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_2f8a5e27": true, // StartUI Play button more option
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_50d7b9e9": true, // StartUI Servers Button
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_1d6d26cc": true, // StartUI Store Button Art
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_d6bb54d8": true, // InventoryUI Global Item Search
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_c448d476": false, // ProgressUI World loading background blur
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_72873fec": true, // InventoryUI new recipe book ui animaion
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_ef158e0f": true, // InventoryUI vanilla search bar button
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_29bdcf8a": true, // InventoryUI Global Item Fastplace
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_a012c161": true, // Chat Message Edit and Copy (Experimental)
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_ae054b5d": false, // New player joined world (Experimental)
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_99d9851a": true, // Button border glint
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_522748cc": true, // Android style Progress Bar (from ElytraUI)
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_111d8c96": true, // Pause UI Profile Button (Mouse only)
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_31e1a20e": false, // ProgressUI Dimension background disabled; set false by default, Because the game flickers when switching dimensions
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_c48fd864": true, // Disconnect Text Edit
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_b00b6372": true, // PauseUI Skin Button Next Profile Button
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_79f6bcad": true, // Language Selector Flags (WorldTown)
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_317055aa": true, // PauseUI Total Players (Player Count)
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_1597ee9b": true, // Advanced Host Time Tweaker
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_6a8911d5": true, // Features Disabled Notification
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_1fa7dfd7": true, // NEW HUD TabList Header
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_75ad0b10": true, // HUD Boss Health Percentage
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_dc165cd2": true, // Hidden Boss Health Percentage When Percentage is 100.0%
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_73085b33": true, // Crafting Helper
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_5354b722": true, // Only display locator_bar when holding [TAB] key (Keyboard Only)
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_19efcc11": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_988450b0": true, // Independent Time Tweaker
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_fb3b5106": true, // Independent Cmd Helper
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_64fd7c05": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_f733129c": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_a3e3c9d0": true, // Force disable title text background
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_64981341": true, // Color Picker (Type ".color" in your chat but don't send it)
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_3eb56fef": false, // InventoryUI animation quick exit
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_5e1f3f4e": true, // HUD Hotbar Animation
// Debug
"$rainbowpie_ui_debug": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_debug_screen_animation": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_debug_screen_content": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_debug_errcheck_debug": false,
// 仅控制不同的UI显示,不会影响bindings中的判定,留空保持默认
"$rainbowpie_ui_debug_ui_device_override": "", // windows;windows_arm;windows_mobile;android;apple_ios;apple_osx;apple_tv;console;console_xboxone;console_ps4
// 오버라이드 가능한 변수
"$rainbowpie_ui_debug_ui_input_override": "", // touch;mouse;game_pad
// 오버라이드 가능한 변수
"$rainbowpie_ui_debug_ui_new_video_settings": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_debug_ui_debug": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_debug_ui_var_override": false, // 启用后将使用下面的值
// 오버라이드 가능한 변수
"$rainbowpie_ui_debug_ui_var_override_file_picking_supported": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_debug_ui_var_override_world_archive_support": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_debug_ui_var_override_is_low_memory_device": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_debug_ui_var_override_pre_release": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_debug_ui_var_override_trial": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_debug_ui_var_override_is_publish": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_debug_ui_var_override_education_edition": false,
// Path
"$rainbowpie_ui_path_home": "textures/RainbowPieUI",
// 오버라이드 가능한 변수
"$rainbowpie_ui_path_theme": "textures/RainbowPieUI/theme",
// 오버라이드 가능한 변수
"$rainbowpie_ui_path_overrides": "textures/RainbowPieUI/overrides",
// Rainbow Pie UI Features
"$rainbowpie_ui_feature_markbest": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_feature_background_mask": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_feature_background_blur": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_feature_settings_themedIcon": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_feature_hud_tablist": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_feature_gamepad_connect_tip": false, // 暂时没有做完
// 오버라이드 가능한 변수
"$rainbowpie_ui_feature_musicplayer": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_feature_command_chat": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_feature_inventory_durability": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_feature_hud_durability": true,
// Rainbow Pie UI Internal Modules
"$rainbowpie_ui_module_chest_fastpick": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_module_hud_block_counter": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_module_hud_bow_helper": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_module_hud_compass": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_module_hud_selected_item_id": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_module_inventory_actions": true,
// Rainbow Pie UI ModuleFlags
"$rainbowpie_ui_moduleflag_chest_fastpick_redstone_blocks": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_moduleflag_hud_block_counter_blockids": "id1,id2,id3,id4,id5,id35,id-552,id-553,id-554,id-555,id-556,id-557,id-558,id-559,id-560,id-561,id-562,id-563,id-564,id-565,id-566,id236,id-635,id-634,id-642,id-639,id-641,id-628,id-631,id-632,id-640,id-636,id-630,id-638,id-637,id-629,id-633,id-722,id-719,id172,id159,id-731,id-730,id-738,id-735,id-737,id-724,id-727,id-728,id-736,id-732,id-726,id-734,id-733,id-725,id-729,id20,id241,id-680,id-679,id-687,id-684,id-686,id-673,id-676,id-677,id-685,id-681,id-675,id-683,id-682,id-674,id-678,",
// 오버라이드 가능한 변수
"$rainbowpie_ui_moduleflag_hud_bow_helper_bowids": "id324,id608,",
// 오버라이드 가능한 변수
"$rainbowpie_ui_moduleflag_hud_bow_helper_arrowids": "id325,",
// 오버라이드 가능한 변수
"$rainbowpie_ui_moduleflag_inventory_actions_delete_item_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_moduleflag_inventory_actions_delete_all_item_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_moduleflag_inventory_actions_drop_item_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_moduleflag_inventory_actions_drop_all_item_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_moduleflag_inventory_actions_quick_craft_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_moduleflag_inventory_actions_armor_switch_enabled": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_moduleflag_inventory_actions_armor_ids_helmet": "id360,id364,id368,id376,id372,id646,",
// 오버라이드 가능한 변수
"$rainbowpie_ui_moduleflag_inventory_actions_armor_ids_chestplate": "id361,id365,id369,id377,id373,id647,",
// 오버라이드 가능한 변수
"$rainbowpie_ui_moduleflag_inventory_actions_armor_ids_leggings": "id362,id366,id370,id378,id374,id648,",
// 오버라이드 가능한 변수
"$rainbowpie_ui_moduleflag_inventory_actions_armor_ids_boots": "id363,id367,id371,id379,id375,id649,",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_bce3269f": true, // InventoryUI new touch mode drop
// Theme System //
"$rainbowpie_ui_themesystem_version": "1095",
// Theme Info //
"$rainbowpie_ui_theme_icon": "textures/MintUI/pack_icon",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_name": "rainbowpie.ui.theme.default_name",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_author": "rainbowpie.ui.theme.default_auther",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_desc": "rainbowpie.ui.theme.default_description",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_description": "rainbowpie.ui.theme.default_description",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_background_name": "Mushisland",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_background_description": "Minecraft Java v1.21.4\nBliss Shader with Distant Horizons\nWorld: Terra Bukkit Plugin\n§eShot by Mintraspberry Cool",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_version": "1095",
// Theme Background //
"$rainbowpie_ui_theme_background_mask_texture_ingame": "textures/MintUI/background/background_mask",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_background_mask_texture": "", // 如需使用请添加,默认不使用。default: "textures/MintUI/background/background_mask"
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_background_noise_texture": "textures/MintUI/background/background_noise",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_background_blur_texture": "textures/MintUI/background/background_blur",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_background_texture": "textures/MintUI/background/background",
// Theme Global Variables //
"$rainbowpie_ui_theme_global_title_text": "§4R§ca§6i§en§ab§bo§5w §6Pie§r",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_global_title_text_font": "MinecraftTen",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_global_title_text_scale": 3.0,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_global_text_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_global_background_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_global_background_alpha": 0.3,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_global_font_name": "SmoothFontLatin",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_global_font_backup_name": "default",
// Theme Driven Variables //
"$rainbowpie_ui_theme_driven_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_driven_alpha": 0.25,
// Theme HoverText Variables //
"$rainbowpie_ui_theme_hovertext_background_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_hovertext_background_alpha": 0.8,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_hovertext_text_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_hovertext_bgicon_enabled": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_hovertext_bgicon_texture": "textures/items/apple",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_hovertext_bgicon_anchor": "bottom_right",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_hovertext_bgicon_size": [ 14, "100%x" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_hovertext_bgicon_offset": [ -4, 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_hovertext_bgicon_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_hovertext_bgicon_fill": false,
// Theme HUD Item Name Variables //
"$rainbowpie_ui_theme_hud_itemname_background_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_hud_itemname_background_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_hud_itemname_text_color": [ 1.0, 1.0, 1.0 ],
// Theme Toast Variables //
"$rainbowpie_ui_theme_toast_background_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toast_background_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toast_text_color": [ 1.0, 1.0, 1.0 ],
// Theme Sidebar Variables //
"$rainbowpie_ui_theme_sidebar_background_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_sidebar_background_alpha": 0.2,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_sidebar_oqaque_background_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_sidebar_oqaque_background_alpha": 0.3,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_sidebar_verbose_background_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_sidebar_verbose_background_alpha": 0.3,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_sidebar_verbose_button_text_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_sidebar_verbose_oqaque_background_color": [ 0.12941176470588237, 0.12941176470588237, 0.12941176470588237 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_sidebar_verbose_oqaque_background_alpha": 1,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_sidebar_verbose_oqaque_button_text_color": [ 1.0, 1.0, 1.0 ],
// Theme Dialog Variables //
"$rainbowpie_ui_theme_dialog_header_color": [ 0.12941176470588237, 0.12941176470588237, 0.12941176470588237 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_dialog_header_alpha": 0.3,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_dialog_background_color": [ 0.12941176470588237, 0.12941176470588237, 0.12941176470588237 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_dialog_background_alpha": 0.7,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_dialog_title_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_dialog_content_background_color": [ 0.0, 0.0, 0.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_dialog_content_background_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_dialog_content_color": [ 1.0, 1.0, 1.0 ],
// Theme Close Button Variables //
"$rainbowpie_ui_theme_closebutton_default_background_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_closebutton_default_background_alpha": 0.0,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_closebutton_default_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_closebutton_hover_background_color": [ 0.9019607843137256, 0.10196078431372548, 0.10196078431372548 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_closebutton_hover_background_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_closebutton_hover_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_closebutton_pressed_background_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_closebutton_pressed_background_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_closebutton_pressed_color": [ 0.9019607843137256, 0.10196078431372548, 0.10196078431372548 ],
// Theme Topbar Variables //
"$rainbowpie_ui_theme_topbar_background_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_topbar_background_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_topbar_splitline_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_topbar_splitline_alpha": 0.0,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_topbar_text_color": [ 1.0, 1.0, 1.0 ],
// Theme Background and Text Variables //
"$rainbowpie_ui_theme_text_background_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_text_background_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_text_text_color": [ 1.0, 1.0, 1.0 ],
// Theme Background and Title Variables //
"$rainbowpie_ui_theme_title_background_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_title_background_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_title_text_color": [ 1.0, 1.0, 1.0 ],
// Theme Text Edit Box Variables //
"$rainbowpie_ui_theme_input_default_background_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_input_default_background_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_input_default_btbar_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_input_default_btbar_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_input_hover_background_color": [ 0.1725490196078431, 0.1725490196078431, 0.1725490196078431 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_input_hover_background_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_input_hover_btbar_color": [ 0.4862745098039216, 0.5686274509803922, 0.7607843137254902 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_input_hover_btbar_alpha": 1,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_input_locked_background_color": [ 0.1725490196078431, 0.1725490196078431, 0.1725490196078431 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_input_locked_background_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_input_locked_btbar_color": [ 0.7, 0.7, 0.7 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_input_locked_btbar_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_input_text_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_input_placeholder_color": [ 0.8510, 0.8510, 0.8510 ],
// Theme Scrollbar Variables //
"$rainbowpie_ui_theme_scrollbar_background_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_scrollbar_background_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_scrollbar_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_scrollbar_alpha": 1,
// Theme Slider Variables //
"$rainbowpie_ui_theme_slider_default_background_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_slider_default_background_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_slider_hover_background_color": [ 0.4862745098039216, 0.5686274509803922, 0.7607843137254902 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_slider_hover_background_alpha": 0.2,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_slider_locked_background_color": [ 0.8, 0.8, 0.8 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_slider_locked_background_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_slider_default_progress_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_slider_default_progress_alpha": 0.7,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_slider_hover_progress_color": [ 0.623529411764706, 0.670588235294118, 0.780392156862745 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_slider_hover_progress_alpha": 0.7,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_slider_locked_progress_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_slider_locked_progress_alpha": 0.7,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_slider_default_button_color": [ 0.8470588235294118, 0.8588235294117647, 0.8588235294117647 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_slider_default_button_alpha": 1.0,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_slider_hover_button_color": [ 0.623529411764706, 0.670588235294118, 0.780392156862745 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_slider_hover_button_alpha": 1.0,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_slider_locked_button_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_slider_locked_button_alpha": 0.7,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_slider_text_default_color": [ 0.5, 0.5, 0.5 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_slider_text_hover_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_slider_text_locked_color": [ 0.7, 0.7, 0.7 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_slider_step_default_default_color": [ 0.623529411764706, 0.670588235294118, 0.780392156862745 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_slider_step_progress_default_color": [ 0.4, 0.4, 0.4 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_slider_step_default_hover_color": [ 0.3, 0.3, 0.3 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_slider_step_progress_hover_color": [ 0.4862745098039216, 0.5686274509803922, 0.7607843137254902 ],
// Theme Progress Loading Bar Variables //
"$rainbowpie_ui_theme_progress_empty_color": [ 0.141176, 0.396078, 0.129411 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_progress_full_color": [ 0.129411, 0.694117, 0.211764 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_progress_empty_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_progress_full_alpha": 0.4,
// Theme Experience Bar Variables //
"$rainbowpie_ui_theme_experience_empty_color": [ 0.141176, 0.396078, 0.129411 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_experience_full_color": [ 0.129411, 0.694117, 0.211764 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_experience_empty_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_experience_full_alpha": 0.6,
// Theme Button Variables //
"$rainbowpie_ui_theme_button_background_default_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_button_background_hover_color": [ 0.4862745098039216, 0.5686274509803922, 0.7607843137254902 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_button_background_pressed_color": [ 0.4862745098039216, 0.5686274509803922, 0.7607843137254902 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_button_background_locked_color": [ 0.4588235294117647, 0.4588235294117647, 0.4588235294117647 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_button_background_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_button_background_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_button_background_pressed_alpha": 0.3,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_button_background_locked_alpha": 0.3,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_button_default_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_button_hover_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_button_pressed_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_button_locked_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_button_text_default_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_button_text_hover_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_button_text_pressed_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_button_text_locked_color": [ 0.7, 0.7, 0.7 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_button_border_default_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_button_border_default_alpha": 0.5,
// Theme Toggle Variables //
"$rainbowpie_ui_theme_toggle_background_default_default_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_locked_default_color": [ 0.4588235294117647, 0.4588235294117647, 0.4588235294117647 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_locked_checked_color": [ 0.4588235294117647, 0.4588235294117647, 0.4588235294117647 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_locked_checked_btbar_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_default_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_default_btbar_color": [ 0.4862745098039216, 0.5686274509803922, 0.7607843137254902 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_hover_color": [ 0.1725490196078431, 0.1725490196078431, 0.1725490196078431 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_hover_btbar_color": [ 0.4862745098039216, 0.5686274509803922, 0.7607843137254902 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_default_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_hover_color": [ 0.1725490196078431, 0.1725490196078431, 0.1725490196078431 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_default_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_locked_default_alpha": 0.3,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_locked_checked_alpha": 0.3,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_locked_checked_btbar_alpha": 1.0,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_default_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_default_btbar_alpha": 1.0,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_hover_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_hover_btbar_alpha": 1.0,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_hover_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_alpha": 1.0,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_text_default_default_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_text_checked_default_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_text_checked_hover_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_text_unchecked_hover_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_text_locked_checked_color": [ 0.7, 0.7, 0.7 ],
// Theme Inventory Variables //
"$rainbowpie_ui_theme_inventory_global_background_color": [ 0.0, 0.0, 0.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_global_background_alpha": 0.2,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_background_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_background_color": [ 0.12941176470588237, 0.12941176470588237, 0.12941176470588237 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_background_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_title_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_content_background_color": [ 0.0, 0.0, 0.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_content_background_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_header_color": [ 0.12941176470588237, 0.12941176470588237, 0.12941176470588237 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_header_alpha": 0.3,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_header_title_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_cell_default_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_cell_default_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_cell_red_color": [ 0.8509803921568627, 0.3019607843137255, 0.3019607843137255 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_cell_red_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_cell_highlight_color": [ 0.3843137254901961, 0.7098039215686275, 0.192156862745098 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_cell_highlight_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_cell_highlight_border_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_cell_highlight_border_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_texture_inventory": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_texture_container": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_anchor": "bottom_right",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_size": [ "42%", "100%x" ], // Please always use % ; Since the X-axis is fixed, it is recommended to use the percentage of the X-axis on the Y-axis
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_offset": [ 0, "-8.503401360544218%y" ], // Please always use % ; Since the X-axis is fixed, it is recommended to use the percentage of the X-axis on the Y-axis
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_alpha": 0.8,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_fill": false,
// Inventory Background Icon Variables //
// Crafting (Player Inventory)
"$rainbowpie_ui_theme_inventory_bgicon_crafting_texture": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_crafting_anchor": "bottom_right",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_crafting_size": [ "42%", "100%x" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_crafting_offset": [ 0, "-8.503401360544218%y" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_crafting_alpha": 0.8,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_crafting_fill": false,
// Crafting (CraftingTable)
"$rainbowpie_ui_theme_inventory_bgicon_craftingtable_texture": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_craftingtable_anchor": "bottom_right",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_craftingtable_size": [ "42%", "100%x" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_craftingtable_offset": [ 0, "-8.503401360544218%y" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_craftingtable_alpha": 0.8,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_craftingtable_fill": false,
// Chest (Small)
"$rainbowpie_ui_theme_inventory_bgicon_chest_texture": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chest_anchor": "bottom_right",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chest_size": [ "42%", "100%x" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chest_offset": [ 0, "-8.503401360544218%y" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chest_alpha": 0.8,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chest_fill": false,
// Chest (Large)
"$rainbowpie_ui_theme_inventory_bgicon_chestlarge_texture": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chestlarge_anchor": "bottom_right",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chestlarge_size": [ "42%", "100%x" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chestlarge_offset": [ 0, "-8.503401360544218%y" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chestlarge_alpha": 0.8,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chestlarge_fill": false,
// Ender Chest
"$rainbowpie_ui_theme_inventory_bgicon_chestender_texture": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chestender_anchor": "bottom_right",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chestender_size": [ "42%", "100%x" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chestender_offset": [ 0, "-8.503401360544218%y" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chestender_alpha": 0.8,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chestender_fill": false,
// Shulker Box
"$rainbowpie_ui_theme_inventory_bgicon_chestshulkerbox_texture": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chestshulkerbox_anchor": "bottom_right",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chestshulkerbox_size": [ "42%", "100%x" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chestshulkerbox_offset": [ 0, "-8.503401360544218%y" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chestshulkerbox_alpha": 0.8,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chestshulkerbox_fill": false,
// Barrel
"$rainbowpie_ui_theme_inventory_bgicon_chestbarrel_texture": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chestbarrel_anchor": "bottom_right",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chestbarrel_size": [ "42%", "100%x" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chestbarrel_offset": [ 0, "-8.503401360544218%y" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chestbarrel_alpha": 0.8,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_chestbarrel_fill": false,
// Furnace
"$rainbowpie_ui_theme_inventory_bgicon_furnace_texture": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_furnace_anchor": "bottom_right",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_furnace_size": [ "42%", "100%x" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_furnace_offset": [ 0, "-8.503401360544218%y" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_furnace_alpha": 0.8,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_furnace_fill": false,
// Blast Furnace
"$rainbowpie_ui_theme_inventory_bgicon_furnaceblast_texture": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_furnaceblast_anchor": "bottom_right",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_furnaceblast_size": [ "42%", "100%x" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_furnaceblast_offset": [ 0, "-8.503401360544218%y" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_furnaceblast_alpha": 0.8,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_furnaceblast_fill": false,
// Smoker
"$rainbowpie_ui_theme_inventory_bgicon_furnacesmoker_texture": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_furnacesmoker_anchor": "bottom_right",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_furnacesmoker_size": [ "42%", "100%x" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_furnacesmoker_offset": [ 0, "-8.503401360544218%y" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_furnacesmoker_alpha": 0.8,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_furnacesmoker_fill": false,
// Brewing Stand
"$rainbowpie_ui_theme_inventory_bgicon_brewingstand_texture": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_brewingstand_anchor": "bottom_right",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_brewingstand_size": [ "42%", "100%x" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_brewingstand_offset": [ 0, "-8.503401360544218%y" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_brewingstand_alpha": 0.8,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_brewingstand_fill": false,
// Anvil
"$rainbowpie_ui_theme_inventory_bgicon_anvil_texture": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_anvil_anchor": "bottom_right",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_anvil_size": [ "42%", "100%x" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_anvil_offset": [ 0, "-8.503401360544218%y" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_anvil_alpha": 0.8,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_anvil_fill": false,
// Grindstone
"$rainbowpie_ui_theme_inventory_bgicon_grindstone_texture": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_grindstone_anchor": "bottom_right",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_grindstone_size": [ "42%", "100%x" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_grindstone_offset": [ 0, "-8.503401360544218%y" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_grindstone_alpha": 0.8,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_grindstone_fill": false,
// Enchanting
"$rainbowpie_ui_theme_inventory_bgicon_enchanting_texture": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_enchanting_anchor": "bottom_right",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_enchanting_size": [ "42%", "100%x" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_enchanting_offset": [ 0, "-8.503401360544218%y" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_enchanting_alpha": 0.8,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_enchanting_fill": false,
// Smithing Table 2
"$rainbowpie_ui_theme_inventory_bgicon_smithingtable2_texture": "",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_smithingtable2_anchor": "bottom_right",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_smithingtable2_size": [ "42%", "100%x" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_smithingtable2_offset": [ 0, "-8.503401360544218%y" ],
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_smithingtable2_alpha": 0.8,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_inventory_bgicon_smithingtable2_fill": false,
// Theme End
// Compatibility
// Modify bbui's default mod settings
"$rainbowpie_ui_compatibility_var_override_d5e1b7c2": true
}
필요한 부분만 참고해서 가져가세요.
// 예제: _ui_defs.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// ???/?? ??
"ui_defs": [
// MintUI
"ui/MintUI/mintui_background.json",
// RainbowPieUI
"ui/RainbowPieUI/common/rainbowpie_ui_button.json",
"ui/RainbowPieUI/common/rainbowpie_ui_common.json",
"ui/RainbowPieUI/common/rainbowpie_ui_dialog.json",
"ui/RainbowPieUI/common/rainbowpie_ui_gameplay.json",
"ui/RainbowPieUI/common/rainbowpie_ui_inventory.json",
"ui/RainbowPieUI/common/rainbowpie_ui_store_common.json",
"ui/RainbowPieUI/common/rainbowpie_ui_tab.json",
"ui/RainbowPieUI/common/rainbowpie_ui_toggle.json",
// Removeable Module
// 在这里移除即可,不要删除文件
"ui/RainbowPieUI/module/chest_fastpick.json",
"ui/RainbowPieUI/module/hud_block_counter.json",
"ui/RainbowPieUI/module/hud_bow_helper.json",
"ui/RainbowPieUI/module/hud_compass.json",
"ui/RainbowPieUI/module/hud_selected_item_id.json",
"ui/RainbowPieUI/module/inventory_actions.json",
"ui/RainbowPieUI/module_lib/hud_item.json",
"ui/RainbowPieUI/screen/music_player_screen.json",
"ui/RainbowPieUI/ui_extras/settings_sections/general_section_controls.json",
"ui/RainbowPieUI/ui_extras/settings_sections/settings_common_controls.json",
"ui/RainbowPieUI/ui_extras/settings_sections/world_section_controls.json",
"ui/RainbowPieUI/ui_extras/add_external_server_screen_controls.json",
"ui/RainbowPieUI/ui_extras/anvil_screen_controls.json",
"ui/RainbowPieUI/ui_extras/book_screen_controls.json",
"ui/RainbowPieUI/ui_extras/brewing_stand_screen_controls.json",
"ui/RainbowPieUI/ui_extras/cartography_screen_controls.json",
"ui/RainbowPieUI/ui_extras/chat_screen_controls.json",
"ui/RainbowPieUI/ui_extras/chest_screen_controls.json",
"ui/RainbowPieUI/ui_extras/command_block_screen_controls.json",
"ui/RainbowPieUI/ui_extras/content_log_controls.json",
"ui/RainbowPieUI/ui_extras/content_log_history_screen_controls.json",
"ui/RainbowPieUI/ui_extras/credits_screen_controls.json",
"ui/RainbowPieUI/ui_extras/disconnect_screen_controls.json",
"ui/RainbowPieUI/ui_extras/enchanting_screen_controls.json",
"ui/RainbowPieUI/ui_extras/furnace_screen_controls.json",
"ui/RainbowPieUI/ui_extras/grindstone_screen_controls.json",
"ui/RainbowPieUI/ui_extras/horse_screen_controls.json",
"ui/RainbowPieUI/ui_extras/host_options_screen_controls.json",
"ui/RainbowPieUI/ui_extras/how_to_play_controls.json",
"ui/RainbowPieUI/ui_extras/online_safety_screen_controls.json",
"ui/RainbowPieUI/ui_extras/hud_screen_controls.json",
"ui/RainbowPieUI/ui_extras/in_bed_screen_controls.json",
"ui/RainbowPieUI/ui_extras/inventory_screen_controls.json",
"ui/RainbowPieUI/ui_extras/invite_screen_controls.json",
"ui/RainbowPieUI/ui_extras/manifest_validation_screen_controls.json",
"ui/RainbowPieUI/ui_extras/mob_effect_screen_controls.json",
"ui/RainbowPieUI/ui_extras/npc_interact_screen_controls.json",
"ui/RainbowPieUI/ui_extras/pack_settings_screen_controls.json",
"ui/RainbowPieUI/ui_extras/pause_screen_controls.json",
"ui/RainbowPieUI/ui_extras/permissions_screen_controls.json",
"ui/RainbowPieUI/ui_extras/persona_screen_controls.json",
"ui/RainbowPieUI/ui_extras/play_screen_controls.json",
"ui/RainbowPieUI/ui_extras/popup_dialog_controls.json",
"ui/RainbowPieUI/ui_extras/profile_card_controls.json",
"ui/RainbowPieUI/ui_extras/profile_screen_controls.json",
"ui/RainbowPieUI/ui_extras/progress_screen_controls.json",
"ui/RainbowPieUI/ui_extras/realms_pending_invitations_controls.json",
"ui/RainbowPieUI/ui_extras/realms_plus_ended_screen_controls.json",
"ui/RainbowPieUI/ui_extras/realmsplus_upgrade_notice_screen_controls.json",
"ui/RainbowPieUI/ui_extras/redstone_screen_controls.json",
"ui/RainbowPieUI/ui_extras/resource_packs_screen_controls.json",
"ui/RainbowPieUI/ui_extras/safe_zone_screen_controls.json",
"ui/RainbowPieUI/ui_extras/scoreboards_controls.json",
"ui/RainbowPieUI/ui_extras/screenshot_screen_controls.json",
"ui/RainbowPieUI/ui_extras/server_form_controls.json",
"ui/RainbowPieUI/ui_extras/sidebar_navigation_controls.json",
"ui/RainbowPieUI/ui_extras/sign_screen_controls.json",
"ui/RainbowPieUI/ui_extras/smithing_table_2_screen_controls.json",
"ui/RainbowPieUI/ui_extras/start_screen_controls.json",
"ui/RainbowPieUI/ui_extras/stonecutter_screen_controls.json",
"ui/RainbowPieUI/ui_extras/storage_management_controls.json",
"ui/RainbowPieUI/ui_extras/structure_editor_screen_controls.json",
"ui/RainbowPieUI/ui_extras/toast_screen_controls.json",
"ui/RainbowPieUI/ui_extras/trade_2_screen_controls.json",
"ui/RainbowPieUI/ui_extras/world_templates_screen_controls.json",
"ui/RainbowPieUI/ui_extras/xbl_friend_finder_controls.json",
"ui/RainbowPieUI/compatibility.json",
"ui/RainbowPieUI/module_pack.json",
"ui/RainbowPieUI/pixelart.json",
"ui/RainbowPieUI/rainbowpie_ui_animations.json",
"ui/RainbowPieUI/rainbowpie_ui_controls.json",
"ui/RainbowPieUI/rainbowpie_ui_inventory_and_container.json",
"ui/RainbowPieUI/rainbowpie_ui_module_list.json",
"ui/RainbowPieUI/rainbowpie_ui_theme_preview.json",
"ui/RainbowPieUI/verified_pack.json"
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: add_external_server_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "add_external_server",
// ???/?? ??
"text_edit_group/name_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"text_edit_group/edit_box": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_editbox_enabled": true
},
// ???/?? ??
"save_button": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "bindings",
// ?? ??
"operation": "remove",
// ???/?? ??
"where": {
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
}
]
},
// ???/?? ??
"add_external_server_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "add_external_server",
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_add_external_server.add_external_server_screen_content"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: anvil_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "anvil",
// ???/?? ??
"cost_label/gray": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"anvil_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"maximized_input_dialog_panel@rainbowpieui_anvil.maximized_input_dialog_panel": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"anvil_root_panel@rainbowpieui_anvil.anvil_root_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_84df7492)"
}
}
]
}
]
},
// ???/?? ??
"text_edit_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"maximized_input_button@rainbowpieui_anvil.maximized_input_toggle_base": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 2px", "100% - 2px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1000,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "maximized_input",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "maximized_input",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
}
}
]
}
]
},
// ???/?? ??
"text_edit_panel/text_edit_control": {
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "100% - 100%y", "100%" ],
// 오버라이드 가능한 변수
"$enable_profanity_filter": "$rainbowpie_ui_flag_input_enable_profanity_filter"
},
// ???/?? ??
"plus_sign_icon": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/anvil-plus')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"arrow_icon": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/arrow_large')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"cross_out_icon": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/crossout')"
},
// ???/?? ??
"anvil_title_and_text_panel": {
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 가로/세로 크기
"size": [ "100%", "100%" ]
},
// ???/?? ??
"text_edit_control": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_editbox_enabled": true
},
// ???/?? ??
"icon_and_text_panel/anvil_icon_panel": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"anvil_title_and_text_panel/title_panel": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"generic_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"top_half_panel": {
// 기준점에서 이동하는 거리
"offset": [ 7, 15 ]
},
// ???/?? ??
"anvil_panel/root_panel": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_84df7492"
},
// ???/?? ??
"anvil_panel/root_panel/common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 28px" ]
},
// ???/?? ??
"anvil_panel/root_panel/anvil_screen_inventory": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "container.repair"
}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: anvil_screen_pocket.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "anvil_pocket",
// ???/?? ??
"anvil_title_and_text_panel/text_edit_control": {
// 오버라이드 가능한 변수
"$enable_profanity_filter": "$rainbowpie_ui_flag_input_enable_profanity_filter"
},
// ???/?? ??
"anvil_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"maximized_input_dialog_panel@rainbowpieui_anvil.maximized_input_dialog_panel": {}
}
]
}
]
},
// ???/?? ??
"anvil_title_and_text_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"maximized_input_button@rainbowpieui_anvil.maximized_input_toggle_base": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 4px", "100% - 4px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "100%y", 20 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -8 ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1000,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "maximized_input",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "maximized_input",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
}
}
]
}
]
},
// ???/?? ??
"slots_panel/plus_sign": {
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"slots_panel/arrow": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/arrow_inactive')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"slots_panel/arrow/cross_out": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/crossout')"
},
// ???/?? ??
"slots_panel": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"text_edit_control": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_editbox_enabled": true
},
// ???/?? ??
"inventory_content/scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scroll_background_image_control": "rainbowpie_ui_common.container_scroll_background_image",
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"generic_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"anvil_panel/bg": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"header_and_content_stack_panel/header": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"header_and_content_stack_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header_pocket": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_single_title": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "tile.anvil.name"
}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: beacon_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "beacon",
// ???/?? ??
"beacon_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"beacon_panel/root_panel/common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 가로/세로 크기
"size": [ "100% - 38px", "100% - 3px" ]
},
// ???/?? ??
"beacon_panel/root_panel/beacon_inventory": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: beacon_screen_pocket.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "beacon_pocket",
// ???/?? ??
"beacon_contents_panel": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"inventory_content/scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scroll_background_image_control": "rainbowpie_ui_common.container_scroll_background_image",
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"generic_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"beacon_panel/bg": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"header_and_content_stack_panel/header": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"header_and_content_stack_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header_pocket": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_single_title": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "tile.anvil.name"
}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: book_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "book",
// ???/?? ??
"book_buttons_panel/sign_export_buttons/export_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_form_fitting_button"
},
// ???/?? ??
"cover_buttons_stack_panel_holder/cover_buttons_stack_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// ???/?? ??
"maximized_input_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 20 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"maximized_input_button@rainbowpieui_book.maximized_input_toggle_base": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 가로/세로 크기
"size": [ "100%y", 18 ],
// 기준점에서 이동하는 거리
"offset": [ 12, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1000,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "maximized_input"
}
}
]
}
}
]
}
]
},
// ???/?? ??
"cover_buttons_stack_panel_holder/cover_buttons_stack_panel/finalize_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_form_fitting_button"
},
// ???/?? ??
"cover_buttons_stack_panel_holder/cover_buttons_stack_panel/cancel_sign_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_form_fitting_button"
},
// ???/?? ??
"book_buttons_panel/sign_export_buttons/sign_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_form_fitting_button"
},
// ???/?? ??
"author_text_box": {
// 오버라이드 가능한 변수
"$place_holder_text_font_type": "$rainbowpie_ui_theme_global_font_name",
// 오버라이드 가능한 변수
"$place_holder_text_backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"title_text_box": {
// 오버라이드 가능한 변수
"$place_holder_text_font_type": "$rainbowpie_ui_theme_global_font_name",
// 오버라이드 가능한 변수
"$place_holder_text_backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"warning_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"author_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"title_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"page_number_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"header": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"page_text_edit": {
// 오버라이드 가능한 변수
"$place_holder_text_font_type": "$rainbowpie_ui_theme_global_font_name",
// 오버라이드 가능한 변수
"$place_holder_text_backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// "base_button/hover": {
// "controls": [
// {
// "hover_text@common.hover_text": {
// "layer": 30,
// "property_bag": {
// "#hover_text": "base_button"
// }
// }
// }
// ]
// },
// "page_content_panel/edit_page": {
// "ignored": true
// },
// "page_buttons_panel": {
// "modifications": [
// {
// "array_name": "bindings",
// "operation": "remove",
// "where": {
// "binding_name_override": "#visible"
// }
// }
// ]
// },
"book_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "book",
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_book.book_screen_content",
"force_render_below": true,
"close_on_player_hurt": false
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: brewing_stand_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "brewing_stand",
// ???/?? ??
"brewing_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"brewing_pipes": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/brewing_pipes')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"brewing_fuel_pipes": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/brewing_fuel_pipes')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// "bottle_empty_image": {
// "texture": "($rainbowpie_ui_path_theme + '/icon/inventory/bottle_empty')",
// "color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// "alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
// },
// "fuel_empty_image": {
// "texture": "($rainbowpie_ui_path_theme + '/icon/inventory/brewing_fuel_empty')",
// "color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// "alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
// },
"bubbles_empty_image": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/bubbles_empty')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"bubbles_full_image": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/bubbles_full')"
},
// ???/?? ??
"brewing_arrow_empty_image": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/brewing_arrow_empty')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"brewing_arrow_full_image": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/brewing_arrow_full')"
},
// ???/?? ??
"brewing_fuel_bar_empty_image": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/brewing_fuel_bar_empty')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"brewing_fuel_bar_full_image": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/brewing_fuel_bar_full')"
},
// ???/?? ??
"brewing_panel_top_half": {
// 기준점에서 이동하는 거리
"offset": [ 0, 16 ]
},
// ???/?? ??
"brewing_panel_top_half/brewing_label": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"brewing_stand_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"brewing_stand_root_panel@rainbowpieui_brewing_stand.brewing_stand_root_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_84df7492)"
}
}
]
}
]
},
// ???/?? ??
"brewing_stand_panel/root_panel": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_84df7492"
},
// ???/?? ??
"brewing_stand_panel/root_panel/common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 25px" ]
},
// ???/?? ??
"brewing_stand_panel/root_panel/furnace_screen_inventory": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "$container_title",
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ]
}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: brewing_stand_screen_pocket.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "brewing_stand_pocket",
// ???/?? ??
"slots_panel/brewing_pipes": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/brewing_pipes_large')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"slots_panel/brewing_arrow_panel/brewing_arrow_empty_image": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/brewing_arrow_large_empty')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"slots_panel/brewing_arrow_panel/brewing_arrow_full_image": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/brewing_arrow_large_full')"
},
// ???/?? ??
"slots_panel": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"inventory_content/scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scroll_background_image_control": "rainbowpie_ui_common.container_scroll_background_image",
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"generic_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"brewing_stand_panel/bg": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"header_and_content_stack_panel/header": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"header_and_content_stack_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header_pocket": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_single_title": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "$container_title"
}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: cartography_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "cartography",
// ???/?? ??
"cartography_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"maximized_input_dialog_panel@rainbowpieui_cartography.maximized_input_dialog_panel": {}
}
]
}
]
},
// ???/?? ??
"text_box_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// ???/?? ??
"maximized_input_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"maximized_input_button@rainbowpieui_cartography.maximized_input_toggle_base": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100% - 1px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 가로/세로 크기
"size": [ "100%y", "20px" ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1000,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "maximized_input",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "maximized_input",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
}
}
]
}
}
]
}
]
},
// ???/?? ??
"text_box_panel/text_edit_control": {
// 가로/세로 크기
"size": [ "100% - 20px", 20 ]
},
// ???/?? ??
"arrow_icon": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/arrow')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"plus_sign_icon": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/anvil-plus')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"text_edit_control": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_editbox_enabled": true,
// 오버라이드 가능한 변수
"$edit_box_indent_size": [ "100% - 2px", "100% - 1px" ]
},
// ???/?? ??
"output_description_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"text_box_panel/map_name_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"title_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"cartography_panel/root_panel/tab_close_and_help_button": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"top_half_panel": {
// 기준점에서 이동하는 거리
"offset": [ 0, 18 ]
},
// ???/?? ??
"top_half_panel/title_panel/title_label": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"cartography_panel/root_panel/common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 28px" ]
},
// ???/?? ??
"cartography_panel/root_panel/cartography_screen_inventory": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "variables",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_84df7492",
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_inventory_and_container.cell_panel"
}
]
},
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "tile.cartography_table.name"
}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: cartography_screen_pocket.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "cartography_pocket",
// ???/?? ??
"cartography_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"maximized_input_dialog_panel@rainbowpieui_cartography.maximized_input_dialog_panel": {}
}
]
}
]
},
// ???/?? ??
"right_navigation_tabs/pocket_tab_close_and_help_button": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"right_navigation_tabs": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// ???/?? ??
"close_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 33 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_background@rainbowpie_ui_inventory.header_background": {
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "100% - 4px", 33 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@rainbowpie_ui_common.close_button": {
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_closebutton_default_color": "$rainbowpie_ui_theme_inventory_header_title_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
}
}
]
}
}
]
}
]
},
// ???/?? ??
"vertical_arrow_icon": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/arrow_down_small')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"cartography_content_stack_panel": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"inventory_scroll_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scroll_background_image_control": "rainbowpie_ui_common.container_scroll_background_image",
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"inventory_panel/inventory_title_label_centerer/inventory_title_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"right_tab_cartography": {
// 오버라이드 가능한 변수
"$checked_bar_anchor": "right",
// 오버라이드 가능한 변수
"$tab_panel": "rainbowpie_ui_tab.tab_panel",
// 오버라이드 가능한 변수
"$tab_image_size": [ "100% - 4px", "100%" ],
// 오버라이드 가능한 변수
"$tab_image_anchor": "right_middle",
// 오버라이드 가능한 변수
"$tab_content_size": [ "100% - 4px", "100% - 8px" ],
// 오버라이드 가능한 변수
"$tab_content_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$tab_content_anchor": "right_middle",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_alpha": "$rainbowpie_ui_theme_inventory_header_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_alpha": 0.6
},
// ???/?? ??
"right_panel/content/bg": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background"
},
// ???/?? ??
"left_tab_inventory": {
// 오버라이드 가능한 변수
"$checked_bar_anchor": "left",
// 오버라이드 가능한 변수
"$tab_panel": "rainbowpie_ui_tab.tab_panel",
// 오버라이드 가능한 변수
"$tab_image_size": [ "100% - 4px", "100%" ],
// 오버라이드 가능한 변수
"$tab_image_anchor": "left_middle",
// 오버라이드 가능한 변수
"$tab_content_size": [ "100% - 4px", "100% - 8px" ],
// 오버라이드 가능한 변수
"$tab_content_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$tab_content_anchor": "left_middle",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_alpha": "$rainbowpie_ui_theme_inventory_header_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_alpha": 0.6
},
// ???/?? ??
"left_panel/content/bg": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: chat_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "chat",
// ???/?? ??
"messages_stack_panel": {
// 목록 아이템을 자동으로 생성
"factory": {
"name": "messages_factory",
"max_children_size": 100,
// 팩토리 템플릿 매핑
"control_ids": {
"chat_screen_messages": "chat_screen_messages@chat.message_tts_wrapper"
},
// ???/?? ??
"factory_variables": [
"$rainbowpie_ui_theme_global_font_name",
"$rainbowpie_ui_theme_global_font_backup_name",
"$rainbowpie_ui_flag_chat_use_ui_font",
"$rainbowpie_ui_flag_chatui_default_font"
]
}
},
// ???/?? ??
"chat_screen_content/autocomplete_commands_panel": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"chat_screen_content/messages_panel": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"chat_screen_content/popup_factory": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_control_ids": {
"chat_setting_popup": "@chat_settings.chat_settings_popup"
},
// 팩토리 템플릿 매핑
"control_ids": "$rainbowpie_localui_this_control_ids",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_b3c44822",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_control_ids": {
"chat_setting_popup": "@rainbowpieui_chat.chat_settings_panel"
}
}
]
},
// ???/?? ??
"auto_complete_panel_contents_with_item/auto_complete_item_renderer": {
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ]
},
// ???/?? ??
"auto_complete_panel_contents_with_item/text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"auto_complete_panel_contents_with_item/autocomplete_button": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "bindings",
// ?? ??
"operation": "remove",
// ???/?? ??
"where": {
// 가져올 값 이름
"binding_name": "#is_autocomplete_suggestion"
}
},
{
// ?? ?? ??
"array_name": "bindings",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 가져올 값 이름
"binding_name": "(not #chat_visible)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
},
{
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져올 값 이름
"binding_name": "#auto_complete_text",
// 목록 이름
"binding_collection_name": "auto_complete"
},
{
// 가져올 값 이름
"binding_name": "#host_teleport_main_visible"
},
{
// 가져올 값 이름
"binding_name": "#host_time_visible"
},
{
// 가져올 값 이름
"binding_name": "#host_weather_visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#auto_complete_text = '') and not #host_teleport_main_visible and not #host_time_visible and not #host_weather_visible)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
}
]
},
// ???/?? ??
"chat_background": {
// 사용할 이미지 경로
"texture": ""
},
// ???/?? ??
"message_tts_wrapper": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "variables",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_a012c161",
// 오버라이드 가능한 변수
"$tts_label_panel": "rainbowpieui_chat.editable_message_text"
}
]
}
]
},
// ???/?? ??
"messages_text": {
// 애니메이션 목록
"anims": ["@rainbowpieui_chat.chat_message_panel_size_animation"],
// ?? ????
"clips_children": true,
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "variables",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_chatui_default_font",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_global_font_name": "default",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_global_font_backup_name": "default"
}
]
},
{
// ?? ?? ??
"array_name": "bindings",
// ?? ??
"operation": "replace",
// ???/?? ??
"where": {
// 가져올 값 이름
"binding_name": "#chat_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
},
// ??? ?
"value": {
// 가져올 값 이름
"binding_name": "#chat_visible"
}
},
{
// ?? ?? ??
"array_name": "bindings",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// 가져올 값 이름
"binding_name": "#host_main_visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#chat_visible and (not #host_main_visible))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
]
},
// ???/?? ??
"messages_text/text": {
"enable_profanity_filter": "$rainbowpie_ui_flag_chat_message_profanity_filter",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 애니메이션 목록
"anims": ["@rainbowpieui_chat.chat_message_panel_animation"],
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "variables",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_flag_chat_use_ui_font and ($chat_font_type = 'default'))",
// 오버라이드 가능한 변수
"$chat_font_type": "$rainbowpie_ui_theme_global_font_name"
}
]
}
]
},
// ???/?? ??
"messages_scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 1, 0 ],
// 가로/세로 크기
"size": [ "100%-2px", "100%-47px" ]
},
// ???/?? ??
"send_button": {
// 오버라이드 가능한 변수
"$button_size_override": [ "100%c + 1px", "100%c" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_form_fitting_button"
},
// ???/?? ??
"text_edit_box": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_editbox_enabled": true,
// 오버라이드 가능한 변수
"$edit_box_indent_size": [ "100% - 1px", "100% - 2px" ],
// 오버라이드 가능한 변수
"$enable_profanity_filter": "$rainbowpie_ui_flag_input_enable_profanity_filter"
},
// ???/?? ??
"keyboard_image": {
// 사용할 이미지 경로
"texture": "textures/ui/chat_keyboard_hover",
// ?? (R,G,B,A)
"color": "$text_color"
},
// ???/?? ??
"small_button": {
// 가로/세로 크기
"size": [ 26, 27 ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100% - 2px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"chat_screen_content": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// ???/?? ??
"messages_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"messages_parent_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"messages_panel@chat.messages_scrolling_panel": {}
},
{ "autocomplete_commands_panel@chat.commands_panel": { "layer": 3 } }
]
}
},
{
// ???/?? ??
"chat_messages_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 150, "100%" ],
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_feature_command_chat)",
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "open_second_chat",
// 계산식/참조 값
"source_property_name": "(#toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"chat_settings_animation_panel@rainbowpieui_chat.chat_settings_animation_panel": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"maximized_input_dialog_panel@rainbowpieui_chat.maximized_input_dialog_panel": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"chat_messages_and_playerlist@rainbowpieui_chat.chat_messages_and_playerlist": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_chat_header@rainbowpieui_chat.chat_header": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"mask_layer@mintui_background.background_mask": {
// 오버라이드 가능한 변수
"$background_offset": [ 0, "100% - 27px" ],
// 오버라이드 가능한 변수
"$background_children_offset": [ 0, "-100% + 27px" ],
// 오버라이드 가능한 변수
"$background_layer": -3,
// 오버라이드 가능한 변수
"$background_anims": [
"@rainbowpieui_chat.chat_bottom_background_back_animation1",
"@rainbowpieui_chat.chat_bottom_background_back_animation_pop1",
"@rainbowpieui_chat.chat_bottom_background_animation1",
"@rainbowpieui_chat.chat_bottom_background_animation_pop1"
],
// 오버라이드 가능한 변수
"$background_children_anims": [
"@rainbowpieui_chat.chat_bottom_background_back_animation2",
"@rainbowpieui_chat.chat_bottom_background_back_animation_pop2",
"@rainbowpieui_chat.chat_bottom_background_animation2",
"@rainbowpieui_chat.chat_bottom_background_animation_pop2"
]
}
},
{
// ???/?? ??
"chat_bottom_panel_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ "100%", 27 ],
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha",
"animation_reset_name": "screen_animation_reset",
// 애니메이션 목록
"anims": [
"@rainbowpieui_chat.chat_bottom_panel_back_animation",
"@rainbowpieui_chat.chat_bottom_panel_back_animation_pop",
"@rainbowpieui_chat.chat_bottom_panel_animation",
"@rainbowpieui_chat.chat_bottom_panel_animation_pop"
],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
]
},
// ???/?? ??
"chat_bottom_panel/host_main_button": {
// 가로/세로 크기
"size": [ 26, 27 ],
// 오버라이드 가능한 변수
"$button_size_override": [ "100%c + 1px", "100%c" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_form_fitting_button"
},
// ???/?? ??
"chat_bottom_panel": {
// 가로/세로 크기
"size": [ "100% - 1px", 27 ],
"min_size": [ "100% - 1px", 27 ],
"animation_reset_name": "screen_animation_reset",
// 애니메이션 목록
"anims": [
"@rainbowpieui_chat.chat_bottom_panel_back_animation",
"@rainbowpieui_chat.chat_bottom_panel_back_animation_pop",
"@rainbowpieui_chat.chat_bottom_panel_animation",
"@rainbowpieui_chat.chat_bottom_panel_animation_pop"
],
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "keyboard_button",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"autocompleteback@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100% - 2px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_text": "TAB▲",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.chat_autocomplete_back",
// 가로/세로 크기
"size": [ 26, 27 ],
// 완전히 제거(공간도 없음)
"ignored": "(not $touch)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"autocomplete@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100% - 2px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_text": "TAB▼",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.chat_autocomplete",
// 가로/세로 크기
"size": [ 26, 27 ],
// 완전히 제거(공간도 없음)
"ignored": "(not $touch)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"previous@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100% - 2px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_text": "▲",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.chat_previous_message",
// 가로/세로 크기
"size": [ 26, 27 ],
// 완전히 제거(공간도 없음)
"ignored": "(not $touch)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"next@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100% - 2px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_text": "▼",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.chat_next_message",
// 가로/세로 크기
"size": [ 26, 27 ],
// 완전히 제거(공간도 없음)
"ignored": "(not $touch)"
}
}
]
},
{
// ??? ???
"control_name": "text_box",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"maximized_input_button@rainbowpieui_chat.maximized_input_toggle_base": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100% - 2px" ],
// 가로/세로 크기
"size": [ 26, 27 ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1000,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "maximized_input",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "maximized_input",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
}
}
]
}
]
},
// ???/?? ??
"chat_header": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"chat_screen": {
"close_on_player_hurt": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_watermark": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "chat",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_global_background_alpha": 0.5,
// 오버라이드 가능한 변수
"$screen_bg_content": "common.empty_panel"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: chest_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "chest",
// ???/?? ??
"small_chest_screen": {
// 오버라이드 가능한 변수
"$is_ender_chest": false,
// 오버라이드 가능한 변수
"$is_shulker_box": false,
// 오버라이드 가능한 변수
"$is_barrel": false
},
// ???/?? ??
"ender_chest_screen": {
// 오버라이드 가능한 변수
"$is_ender_chest": true,
// 오버라이드 가능한 변수
"$is_shulker_box": false,
// 오버라이드 가능한 변수
"$is_barrel": false
},
// ???/?? ??
"shulker_box_screen": {
// 오버라이드 가능한 변수
"$is_shulker_box": true
},
// ???/?? ??
"barrel_screen": {
// 오버라이드 가능한 변수
"$is_barrel": true
},
// ???/?? ??
"chest_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"large_chest_panel_top_half": {
// 기준점에서 이동하는 거리
"offset": [ 0, 19 ]
},
// ???/?? ??
"large_chest_panel_top_half/chest_label": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"large_chest_panel/root_panel/common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 28px" ]
},
// ???/?? ??
"large_chest_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"large_chest_root_panel@rainbowpieui_chest.large_chest_root_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_84df7492)"
}
}
]
}
]
},
// ???/?? ??
"large_chest_panel/root_panel": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_84df7492"
},
// ???/?? ??
"large_chest_panel/root_panel/chest_panel": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"chest_fastpick@rainbowpie_module_chest_fastpick.chest_fastpick": {
// 오버라이드 가능한 변수
"$large_chest": true
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "$container_title"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"live_player_renderer@rainbowpie_ui_inventory.live_player_renderer": {}
}
]
}
]
},
// small_chest_panel
"small_chest_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"small_chest_root_panel@rainbowpieui_chest.small_chest_root_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_84df7492)"
}
}
]
}
]
},
// ???/?? ??
"small_chest_panel/root_panel": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_84df7492"
},
// ???/?? ??
"small_chest_panel_top_half": {
// 기준점에서 이동하는 거리
"offset": [ 0, 20 ]
},
// ???/?? ??
"small_chest_panel_top_half/chest_label": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"small_chest_panel/root_panel/common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 28px" ]
},
// ???/?? ??
"small_chest_panel/root_panel/chest_panel": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"chest_fastpick@rainbowpie_module_chest_fastpick.chest_fastpick": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "$container_title"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"live_player_renderer@rainbowpie_ui_inventory.live_player_renderer": {}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: command_block_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "command_block",
// ???/?? ??
"command_block_text_edit_box": {
// 오버라이드 가능한 변수
"$enable_profanity_filter": "$rainbowpie_ui_flag_input_enable_profanity_filter"
},
// ???/?? ??
"left_scroll_panel_content/content_stack_panel/offset2/hover_note_text": {
// 오버라이드 가능한 변수
"$enable_profanity_filter": "$rainbowpie_ui_flag_input_enable_profanity_filter"
},
// ???/?? ??
"plus_icon": {
// 가로/세로 크기
"size": [ 18, 18 ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/global/maximize_icon')"
},
// ???/?? ??
"right_scroll_panel_content": {
// 가로/세로 크기
"size": [ "100% - 2px", "100%c" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// ???/?? ??
"spacer_bottom": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 3 ]
}
}
]
}
]
},
// ???/?? ??
"previous_command_block_info_stack/start_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"previous_command_block_info_stack/start_label_dynamic_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"right_scroll_panel_content/command_block_previous_output_panel/command_output_text_centering_panel/command_output_text": {
// 가로/세로 크기
"size": [ "100% - 4px", 60 ]
},
// ???/?? ??
"right_scroll_panel_content/command_block_previous_output_panel/previous_output_label_stack_centering_panel/previous_output_label_stack/option_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"command_block_helper_stack/text_": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"right_scroll_panel_content/command_block_commands_panel/centering_panel1/command_block_commands_panel/paste_button": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"right_scroll_panel_content/command_block_commands_panel/centering_panel1/command_block_commands_panel/plus_button": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"right_scroll_panel_content/command_block_commands_panel/centering_panel1/command_block_commands_panel": {
// 가로/세로 크기
"size": [ "100%", 30 ],
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "paste_button",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// ???/?? ??
"spacer": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0.5, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"paste_button_rainbowpie@rainbowpieui_command_block.paste_button": {
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
}
]
},
{
// ??? ???
"control_name": "plus_button",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"plus_button_rainbowpie@rainbowpieui_command_block.plus_button": {
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
}
]
}
]
},
// ???/?? ??
"right_scroll_panel_content/command_block_commands_panel/centering_panel/option_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"left_scroll_panel_content/content_stack_panel/option_label_tick_delay": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"left_scroll_panel_content/content_stack_panel/option_label_execute_on_first_tick": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"left_scroll_panel_content/content_stack_panel/offset8": {
// 가로/세로 크기
"size": [ "100%", 2 ]
},
// ???/?? ??
"cancel_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"block_type_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"command_impulse_mode@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#command_impulse_mode",
// 오버라이드 가능한 변수
"$radio_label_text": "commandBlockScreen.blockType.impulse"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"command_chain_mode@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#command_chain_mode",
// 오버라이드 가능한 변수
"$radio_label_text": "commandBlockScreen.blockType.chain"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"command_repeat_mode@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#command_repeat_mode",
// 오버라이드 가능한 변수
"$radio_label_text": "commandBlockScreen.blockType.repeat"
}
}
]
},
// ???/?? ??
"condition_mode_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"command_conditional_mode@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#command_conditional_mode",
// 오버라이드 가능한 변수
"$radio_label_text": "commandBlockScreen.condition.conditional"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"command_unconditional_mode@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#command_unconditional_mode",
// 오버라이드 가능한 변수
"$radio_label_text": "commandBlockScreen.condition.unconditional"
}
}
]
},
// ???/?? ??
"redstone_mode_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"command_always_on_mode@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#command_always_on_mode",
// 오버라이드 가능한 변수
"$radio_label_text": "commandBlockScreen.redstone.always_on"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"command_needs_redstone_mode@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#command_needs_redstone_mode",
// 오버라이드 가능한 변수
"$radio_label_text": "commandBlockScreen.redstone.needs_redstone"
}
}
]
},
// ???/?? ??
"right_scrolling_panel": {
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 1, 0 ]
},
// ???/?? ??
"left_scroll_panel_content": {
// 가로/세로 크기
"size": [ "100% - 3px", "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ]
},
// ???/?? ??
"left_scrolling_panel": {
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 1, 0 ]
},
// ???/?? ??
"command_block_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "command_block",
"force_render_below": true,
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_command_block.command_block_screen_content"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: content_log.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "content_log",
// ???/?? ??
"content_log_panel/stack_panel": {
// 목록 아이템을 자동으로 생성
"factory": {
"name": "content_log_item_factory",
"max_children_size": 50,
// 팩토리 템플릿 매핑
"control_ids": {
"content_log_item": "content_log_item@content_log.content_log_grid_item"
},
// ???/?? ??
"factory_variables": [
"$rainbowpie_ui_theme_global_font_name",
"$rainbowpie_ui_theme_global_font_backup_name"
]
}
},
// ???/?? ??
"content_log_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"anim_content_log_bg_alpha": {
// 시작 값
"from": 0.3
},
// ???/?? ??
"content_log_grid_item/content_log_background": {
// ???
"alpha": 0.3,
// 애니메이션 목록
"anims": [
"@content_log.anim_content_log_bg_wait",
"@rainbowpieui_content_log.anim_content_log_offset"
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: content_log_history_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "content_log_history",
// ???/?? ??
"content_log_message": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color"
},
// ???/?? ??
"clipboard_icon_wrapper/stack_panel/label_panel/label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_button_text_color"
},
// ???/?? ??
"clear_icon_wrapper/stack_panel/label_panel/label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_button_text_color"
},
// ???/?? ??
"horizontal_button_stack_panel/clipboard_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 가로/세로 크기
"size": [ "25%", "100%" ]
},
// ???/?? ??
"horizontal_button_stack_panel/clear_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 가로/세로 크기
"size": [ "25%", "100%" ]
},
// ???/?? ??
"messages_stack_panel": {
// 오버라이드 가능한 변수
"$scrolling_content_anchor_from": "bottom_right",
// 오버라이드 가능한 변수
"$scrolling_content_anchor_to": "bottom_right",
// 가로/세로 크기
"size": [ "100% - 4px", "default" ],
// 목록 아이템을 자동으로 생성
"factory": {
"name": "messages_factory",
// ??? ???
"control_name": "content_log_message@content_log_history.content_log_message_panel",
// ???/?? ??
"factory_variables": [
"$rainbowpie_ui_theme_global_font_name",
"$rainbowpie_ui_theme_global_font_backup_name"
]
}
},
// ???/?? ??
"content_log_history_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "content_log_history",
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_content_log_history.content_log_history_panel"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: create_world_upsell_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "create_world_upsell"
}
필요한 부분만 참고해서 가져가세요.
// 예제: credits_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "credits",
// ???/?? ??
"skip_panel": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpieui_skip_panel@rainbowpieui_credits.rainbowpieui_skip_panel": {}
}
]
},
// ???/?? ??
"fade_in_image": {
// 사용할 이미지 경로
"texture": ""
},
// ???/?? ??
"credits_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "credits"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: death_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "death",
// ???/?? ??
"you_died_panel/you_died_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"death_reason_panel/death_reason_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"buttons_panel/respawn_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "bindings",
// ?? ??
"operation": "remove",
// ???/?? ??
"where": {
// 가져올 값 이름
"binding_name": "#respawn_visible"
}
}
]
},
// ???/?? ??
"buttons_panel/main_menu_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "bindings",
// ?? ??
"operation": "remove",
// ???/?? ??
"where": {
// 가져올 값 이름
"binding_name": "#quit_visible"
}
}
]
},
// ???/?? ??
"death_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "death"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: debug_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "debug_screen",
// ???/?? ??
"debug_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_ignored": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "debug_screen"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: disconnect_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "disconnect",
// ???/?? ??
"disconnect_screen_content": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{ "rainbowpie_title_panel@rainbowpieui_disconnect.title_panel": {} }
]
}
]
},
// ???/?? ??
"disconnect_screen_content/title_panel": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_c48fd864"
},
// ???/?? ??
"disconnect_text": {
// "text": "disconnect_text"
},
// ???/?? ??
"disconnect_title_text": {
// "text": "disconnect_title_text"
},
// ???/?? ??
"disconnect_screen_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? ??
"text_alignment": "center"
},
// ???/?? ??
"menu_button_template": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"open_account_setting_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"disconnect_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": "$rainbowpie_ui_flag_disconnect_ui_modified",
// 오버라이드 가능한 변수
"$rainbowpie_localui_disconnect_dialog_buttons": "rainbowpieui_disconnect.button_panel",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_blur": "(not $rainbowpie_ui_flag_d39385b8)",
// 오버라이드 가능한 변수
"$is_pregame": true,
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_disconnect.disconnect_screen_content"
},
// ???/?? ??
"realms_disconnect_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_disconnect_dialog_buttons": "rainbowpieui_disconnect.realms_disconnect_button_panel"
},
// ???/?? ??
"realms_warning_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_disconnect_dialog_buttons": "rainbowpieui_disconnect.realms_warning_button_panel"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: enchanting_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "enchanting",
// ???/?? ??
"enchant_runes": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// 보여줄 글자
"text": "#text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "#enchant_buttons",
// 가져올 값 이름
"binding_name": "#hover_text",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#hover_text - '§o')",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
},
// ???/?? ??
"unselectable_button": {
},
// ???/?? ??
"dark_background": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_button_background_locked_color",
// ???
"alpha": "$rainbowpie_ui_theme_button_background_locked_alpha"
},
// ???/?? ??
"dark_background_with_hover_text": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_button_background_locked_color",
// ???
"alpha": "$rainbowpie_ui_theme_button_background_hover_alpha"
},
// ???/?? ??
"active_background": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_button_background_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_button_background_default_alpha"
},
// ???/?? ??
"active_background_with_hover_text": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_button_background_hover_color",
// ???
"alpha": "$rainbowpie_ui_theme_button_background_hover_alpha"
},
// ???/?? ??
"enchanting_panel_top_half/grid_panel/indent": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"enchanting_panel_top_half/grid_panel/dust_panel": {
},
// ???/?? ??
"enchanting_panel_top_half/grid_panel": {
},
// ???/?? ??
"enchanting_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"enchanting_panel_top_half": {
// 기준점에서 이동하는 거리
"offset": [ 1, 15 ]
},
// ???/?? ??
"enchanting_panel_top_half/enchanting_label": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"enchanting_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"enchanting_root_panel@rainbowpieui_enchanting.enchanting_root_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_84df7492)"
}
}
]
}
]
},
// ???/?? ??
"enchanting_panel/root_panel": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_84df7492"
},
// ???/?? ??
"enchanting_panel/root_panel/common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 21px" ]
},
// ???/?? ??
"enchanting_panel/root_panel/enchanting_screen_inventory": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "$container_title",
// 기준점에서 이동하는 거리
"offset": [ 0, -4 ]
}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: enchanting_screen_pocket.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "enchanting_pocket",
// ???/?? ??
"enchanting_slots_panel": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"inventory_content/scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scroll_background_image_control": "rainbowpie_ui_common.container_scroll_background_image",
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"generic_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"enchanting_panel/bg": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"header_and_content_stack_panel/header": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"header_and_content_stack_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header_pocket": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_single_title": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "$container_title"
}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: furnace_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "furnace",
// ???/?? ??
"furnace_screen": {
// 오버라이드 가능한 변수
"$is_blast_furnace": false,
// 오버라이드 가능한 변수
"$is_smoker": false,
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "variables",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 이 조건이 맞으면 적용
"requires": "($container_title = 'tile.blast_furnace.name')",
// 오버라이드 가능한 변수
"$is_blast_furnace": true
},
{
// 이 조건이 맞으면 적용
"requires": "($container_title = 'tile.smoker.name')",
// 오버라이드 가능한 변수
"$is_smoker": true
}
]
}
]
},
// ???/?? ??
"furnace_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"furnace_arrow_empty_image": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/arrow_inactive')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"furnace_arrow_full_image": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/arrow_active')"
},
// ???/?? ??
"flame_empty_image": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/flame_empty_image')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"flame_full_image": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/flame_full_image')"
},
// ???/?? ??
"furnace_panel_top_half": {
// 기준점에서 이동하는 거리
"offset": [ 0, 20 ]
},
// ???/?? ??
"furnace_panel_top_half/furnace_label": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"furnace_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"furnace_root_panel@rainbowpieui_furnace.furnace_root_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_84df7492)"
}
}
]
}
]
},
// ???/?? ??
"furnace_panel/root_panel": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_84df7492"
},
// ???/?? ??
"furnace_panel/root_panel/common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 27px" ]
},
// ???/?? ??
"furnace_panel/root_panel/furnace_screen_inventory": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "$container_title",
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ]
}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: furnace_screen_pocket.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "furnace_pocket",
// ???/?? ??
"furnace_content": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"inventory_content/scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scroll_background_image_control": "rainbowpie_ui_common.container_scroll_background_image",
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"generic_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"furnace_panel/bg": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"header_and_content_stack_panel/header": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"header_and_content_stack_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header_pocket": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_single_title": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "$container_title"
}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: gameplay_common.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "gameplay"
}
필요한 부분만 참고해서 가져가세요.
// 예제: gamma_calibration_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "gamma_calibration",
// ???/?? ??
"image_panel/centering_panel/image_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"message_panel/message_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"calibration_slider/centering_panel/slider_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"calibration_slider/slider_control/slider": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_sliderbar_enabled": true
},
// ???/?? ??
"continue_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_color": [ 0.196078431372549, 0.6588235294117647, 0.3215686274509804 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color": [ 0.196078431372549, 0.6588235294117647, 0.301961 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color": [ 0.196078431372549, 0.6588235294117647, 0.301961 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_default_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_hover_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_pressed_color": [ 1.0, 1.0, 1.0 ]
},
// ???/?? ??
"gamma_calibration_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "gamma_calibration",
// 오버라이드 가능한 변수
"$transition_time_push": "$rainbowpie_ui_animation_transition_time",
// 오버라이드 가능한 변수
"$transition_time_pop": "$rainbowpie_ui_animation_transition_time",
// 오버라이드 가능한 변수
"$transition_time_push_size": "$rainbowpie_ui_animation_transition_time",
// 오버라이드 가능한 변수
"$transition_time_pop_size": "$rainbowpie_ui_animation_transition_time",
// 오버라이드 가능한 변수
"$container_transition_time_push": "$rainbowpie_ui_animation_transition_time",
// 오버라이드 가능한 변수
"$container_transition_time_pop": "$rainbowpie_ui_animation_transition_time",
// 오버라이드 가능한 변수
"$screen_animations": [
"@common.screen_exit_animation_push_fade",
"@common.screen_exit_animation_pop_fade",
"@common.screen_entrance_animation_push_fade",
"@common.screen_entrance_animation_pop_fade"
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: grindstone_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "grindstone",
// ???/?? ??
"arrow_icon": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/arrow_large')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"title_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"cross_out_icon": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/crossout')"
},
// ???/?? ??
"top_half_panel": {
// 기준점에서 이동하는 거리
"offset": [ 4, 14 ]
},
// ???/?? ??
"top_half_panel/title_label": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"grindstone_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"grindstone_root_panel@rainbowpieui_grindstone.grindstone_root_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_84df7492)"
}
}
]
}
]
},
// ???/?? ??
"grindstone_panel/root_panel": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_84df7492"
},
// ???/?? ??
"grindstone_panel/root_panel/common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 28px" ]
},
// ???/?? ??
"grindstone_panel/root_panel/grindstone_screen_inventory": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "container.repairAndDisenchant"
}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: grindstone_screen_pocket.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "grindstone_pocket",
// ???/?? ??
"slots_panel/arrow": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/arrow_large')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"slots_panel/arrow/cross_out": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/crossout')"
},
// ???/?? ??
"slots_panel": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"inventory_content/scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scroll_background_image_control": "rainbowpie_ui_common.container_scroll_background_image",
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"repair_title_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"grindstone_panel/bg": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"header_and_content_stack_panel/header": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"header_and_content_stack_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header_pocket": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_single_title": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "tile.grindstone.name"
}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: horse_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "horse",
// ???/?? ??
"inv_bg_panel/cell_image": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"inv_bg_panel": {
},
// ???/?? ??
"renderer_bg": {
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// ???
"alpha": 0.4
},
// ???/?? ??
"horse_panel/root_panel/equipment": {
// 기준점에서 이동하는 거리
"offset": [ 7, 29 ]
},
// ???/?? ??
"horse_panel/root_panel/renderer": {
// 기준점에서 이동하는 거리
"offset": [ 25, 29 ]
},
// ???/?? ??
"horse_panel/root_panel/horse_section_label": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"horse_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"inv_panel": {
// 기준점에서 이동하는 거리
"offset": [ 79, 29 ]
},
// ???/?? ??
"horse_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"horse_root_panel@rainbowpieui_horse.horse_root_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_84df7492)"
}
}
]
}
]
},
// ???/?? ??
"horse_panel/root_panel/common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 28px" ]
},
// ???/?? ??
"horse_panel/root_panel": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_84df7492",
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "$container_title"
}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: horse_screen_pocket.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "horse_pocket",
// ???/?? ??
"close_button": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"visual_tabs_equip": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_background@rainbowpie_ui_inventory.header_background": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": [ 29, 32 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@rainbowpie_ui_common.close_button": {
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_closebutton_default_color": "$rainbowpie_ui_theme_inventory_header_title_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
}
},
{
// ???/?? ??
"rainbowpie_chest": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 가로/세로 크기
"size": [ 29, 32 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -36 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_chested",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@rainbowpie_ui_inventory.header_background": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"chest_icon@horse_pocket.chest_icon_front": {}
}
]
}
}
]
}
},
{
// ???/?? ??
"rainbowpie_equip": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 가로/세로 크기
"size": [ 29, 32 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@rainbowpie_ui_common.inventory_background": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"checked_left": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ 2, "100%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_toggle_background_checked_default_btbar_color",
// ???
"alpha": "$rainbowpie_ui_theme_toggle_background_checked_default_btbar_alpha"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"equip_icon@horse_pocket.saddle_icon_front": {}
}
]
}
}
]
}
}
]
}
]
},
// ???/?? ??
"visual_tabs_equip/close_tab": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"visual_tabs_equip/chest": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"visual_tabs_equip/equip": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"visual_tabs_chest": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_background@rainbowpie_ui_inventory.header_background": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": [ 29, 32 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@rainbowpie_ui_common.close_button": {
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_closebutton_default_color": "$rainbowpie_ui_theme_inventory_header_title_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
}
},
{
// ???/?? ??
"rainbowpie_chest": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 가로/세로 크기
"size": [ 29, 32 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -36 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_chested",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@rainbowpie_ui_common.inventory_background": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"checked_left": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ 2, "100%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_toggle_background_checked_default_btbar_color",
// ???
"alpha": "$rainbowpie_ui_theme_toggle_background_checked_default_btbar_alpha"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"chest_icon@horse_pocket.chest_icon_front": {}
}
]
}
}
]
}
},
{
// ???/?? ??
"rainbowpie_equip": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 가로/세로 크기
"size": [ 29, 32 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@rainbowpie_ui_inventory.header_background": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"equip_icon@horse_pocket.saddle_icon_front": {}
}
]
}
}
]
}
}
]
}
]
},
// ???/?? ??
"visual_tabs_chest/close_tab": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"visual_tabs_chest/chest": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"visual_tabs_chest/equip": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"renderer_bg": {
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// ???
"alpha": 0.4
},
// ???/?? ??
"equip_item_panel": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"base_grid_panel/panel_outline": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"base_grid_panel/dark_bg": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_content_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_content_background_alpha"
},
// ???/?? ??
"base_grid_panel/scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"horse_panel/base_panel/bg": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: host_options_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "host_options",
// ???/?? ??
"host_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"advanced_host_time_tweaker@rainbowpieui_host_options.independent_advanced_host_time_tweaker": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"command_helper@rainbowpieui_host_options.independent_command_helper": { }
},
{
// 다른 템플릿을 가져와서 확장(상속)
"color_picker@rainbowpieui_host_options.color_picker": { }
}
]
}
]
},
// ???/?? ??
"host_time_buttons/sub_tab": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"time_grid@scrolling_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_host_options_advanced)",
// 기준점에서 이동하는 거리
"offset": "$offset_sub_tabs",
// 오버라이드 가능한 변수
"$main_scrolling_content": "rainbowpieui_host_options.host_time_panel"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"advanced_host_time_tweaker@rainbowpieui_host_options.host_options_advanced_host_time_tweaker": {}
}
]
}
]
},
// ???/?? ??
"host_time_buttons/sub_tab/scrolli_scrolli_ravioli": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_host_options_advanced"
},
// ???/?? ??
"host_weather_buttons/sub_tab": {
// 가로/세로 크기
"size": [ "100%", "90px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"weather_grid@scrolling_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_host_options_advanced)",
// 기준점에서 이동하는 거리
"offset": "$offset_sub_tabs",
// 오버라이드 가능한 변수
"$main_scrolling_content": "rainbowpieui_host_options.host_weather_panel"
}
}
]
}
]
},
// ???/?? ??
"host_weather_buttons/sub_tab/host_main_grid": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_host_options_advanced"
},
// ???/?? ??
"host_teleport_player_list_buttons": {
// 가로/세로 크기
"size": "$panel_size",
// 오버라이드 가능한 변수
"$panel_size": [ "default", "default" ],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_host_options_advanced"
}
]
},
// ???/?? ??
"host_teleport_player_list_buttons/toggle": {
// 가로/세로 크기
"size": "$inner_panel_size",
// 오버라이드 가능한 변수
"$inner_panel_size": [ "100%", "90px" ],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_host_options_advanced",
// 오버라이드 가능한 변수
"$inner_panel_size": [ "100%", "210px" ]
}
]
},
// ???/?? ??
"host_friends_tab": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{ "advanced_host_friends_tab@rainbowpieui_host_options.advanced_host_friends_tab": {} }
]
}
]
},
// ???/?? ??
"player_pic_panel/player_gamer_pic": {
// 가로/세로 크기
"size": [ "100%", "100%" ]
},
// ???/?? ??
"player_pic_panel": {
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ]
},
// ???/?? ??
"player_button_content": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "player_pic_panel",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// ???/?? ??
"padding_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 5, 0 ]
}
}
]
}
]
},
// ???/?? ??
"host_sub_command_grid_item/host_option_banner": {
// 오버라이드 가능한 변수
"$glyph_size": [ "100%y", "100%" ],
// 오버라이드 가능한 변수
"$button_content_offset_glyph": [ 0, 0 ]
},
// ???/?? ??
"button_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"host_teleport_grid_item/host_option_toggle": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_locked",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_locked"
},
// ???/?? ??
"scrollable_selector_area": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true
},
// ???/?? ??
"scrolling_panel": {
// 오버라이드 가능한 변수
"$main_offset_scrollable_panel|default": [ 0, 0 ],
// 오버라이드 가능한 변수
"$main_size_scrollable_panel|default": [ "100% - 2px", "100%" ]
},
// ???/?? ??
"scrolling_panel/background": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"main_light_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"main_dark_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: how_to_play_common.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "how_to_play_common",
// ???/?? ??
"glyph_button_control/tab_button_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"dynamic_dialog_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "how_to_play",
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_how_to_play.how_to_play_content"
},
// ???/?? ??
"header_background": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_title_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_title_background_alpha"
},
// ???/?? ??
"header_background/header_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_title_text_color"
},
// ???/?? ??
"paragraph_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_global_text_color"
},
// ???/?? ??
"action_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_size": [ "100% - 20px", "default" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_alignment": "left",
// 가로/세로 크기
"size": [ "100%", 28 ]
},
// ???/?? ??
"topic_category": {
// 가로/세로 크기
"size": [ "100%", 16 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"list_title@rainbowpie_ui_common.title_background": {
// 가로/세로 크기
"size": [ "100%", 14 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 4px", 10 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title@rainbowpie_ui_common.title_label": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 보여줄 글자
"text": "('howtoplay.category.' + $category)",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"section_toggle_button": {
// 가로/세로 크기
"size": [ "100%", "25px" ]
},
// ???/?? ??
"section_toggle_button/section_toggle_button": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_locked",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_locked",
// 가로/세로 크기
"size": [ "100%", "25px" ]
},
// ???/?? ??
"toggle_button_control/tab_button_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: how_to_play_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "how_to_play",
// ???/?? ??
"how_to_play_selector_stack_panel/how_to_play_selector_pane/padding_1": {
// 가로/세로 크기
"size": [ 0, 1 ]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: hud_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "hud",
// ???/?? ??
"hud_title_text": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "variables",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_a3e3c9d0",
// 오버라이드 가능한 변수
"$title_alpha": 0.0,
// 오버라이드 가능한 변수
"$title_shadow": true
}
]
}
]
},
// ???/?? ??
"root_panel/centered_gui_elements_at_bottom_middle_touch": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"boss_health_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{ "boss_name_panel@rainbowpieui_hud.boss_name_panel": {} }
]
}
]
},
// ???/?? ??
"boss_health_panel/boss_name": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_75ad0b10"
},
// ???/?? ??
"exp_progress_bar_and_hotbar_pocket/item_text/item_text_factory": {
// ???/?? ??
"factory_variables": [
"$rainbowpie_ui_theme_global_font_name",
"$rainbowpie_ui_theme_global_font_backup_name",
"$rainbowpie_ui_flag_huditemname_default_font"
]
},
// ???/?? ??
"exp_progress_bar_and_hotbar/item_text_factory": {
// ???/?? ??
"factory_variables": [
"$rainbowpie_ui_theme_global_font_name",
"$rainbowpie_ui_theme_global_font_backup_name",
"$rainbowpie_ui_flag_huditemname_default_font"
]
},
// ???/?? ??
"root_panel/hud_title_text_area": {
// 목록 아이템을 자동으로 생성
"factory": {
"name": "hud_title_text_factory",
// 팩토리 템플릿 매핑
"control_ids": {
"hud_title_text": "hud_title_text@hud.hud_title_text"
},
// ???/?? ??
"factory_variables": [
"$rainbowpie_ui_theme_global_font_name",
"$rainbowpie_ui_theme_global_font_backup_name",
"$rainbowpie_ui_flag_hudtitle_default_font"
]
}
},
// ???/?? ??
"root_panel/hud_actionbar_text_area": {
// 목록 아이템을 자동으로 생성
"factory": {
"name": "hud_actionbar_text_factory",
// 팩토리 템플릿 매핑
"control_ids": {
"hud_actionbar_text": "hud_actionbar_text@hud.hud_actionbar_text"
},
// ???/?? ??
"factory_variables": [
"$rainbowpie_ui_theme_global_font_name",
"$rainbowpie_ui_theme_global_font_backup_name",
"$rainbowpie_ui_flag_hudtitle_default_font"
]
}
},
// ???/?? ??
"root_panel/hud_tip_text_factory": {
// ???/?? ??
"factory_variables": [
"$rainbowpie_ui_theme_global_font_name",
"$rainbowpie_ui_theme_global_font_backup_name",
"$rainbowpie_ui_flag_hudtitle_default_font"
]
},
// ???/?? ??
"vignette_renderer": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"root_panel/layout_customization_close_without_saving/layout_customization_close_without_saving_modal": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"root_panel/layout_customization_close_without_saving": {
// ???
"alpha": 0.3,
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{ "rainbowpie_layout_customization_close_without_saving@rainbowpieui_hud.layout_customization_close_without_saving": {} }
]
}
]
},
// ???/?? ??
"root_panel/layout_customization_reset/layout_customization_reset_modal": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"root_panel/layout_customization_reset": {
// ???
"alpha": 0.3,
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{ "rainbowpie_layout_customization_reset_modal@rainbowpieui_hud.layout_customization_reset_modal": {} }
]
}
]
},
// ???/?? ??
"layout_customization_option_content/apply_to_all_toggle/caption_frame/caption": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 3
},
// ???/?? ??
"layout_customization_option_slider/slider": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_sliderbar_enabled": true
},
// ???/?? ??
"layout_customization_sub_panel/background": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha"
},
// ???/?? ??
"layout_customization_sub_panel": {
// 보이기/숨기기(공간 유지)
"visible": false
},
// ???/?? ??
"root_panel/layout_customization_hint_drag_frame": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white')",
// 가로/세로 크기
"size": [ "100%c + 12px", "100%c + 5px" ],
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha"
},
// ???/?? ??
"root_panel/layout_customization_hint_drag_frame/layout_customization_hint_drag": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color"
},
// ???/?? ??
"root_panel/layout_customization_hint_deselect_frame": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white')",
// 가로/세로 크기
"size": [ "100%c + 12px", "100%c + 5px" ],
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha"
},
// ???/?? ??
"root_panel/layout_customization_hint_deselect_frame/layout_customization_hint_deselect": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color"
},
// ???/?? ??
"root_panel/layout_customization_hint_saved": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white')",
// 가로/세로 크기
"size": [ "100%c + 12px", "100%c + 5px" ],
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha"
},
// ???/?? ??
"root_panel/layout_customization_hint_saved/layout_customization_hint_saved": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color"
},
// ???/?? ??
"layout_customization_main_panel_button/button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"layout_customization_main_panel/main_panel_frame": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha"
},
// ???/?? ??
"boss_name_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "variables",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_hudbossname_default_font",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_global_font_name": "default",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_global_font_backup_name": "default"
}
]
}
]
},
// ???/?? ??
"boss_name_panel/boss_name": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"hud_actionbar_text": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_black')",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "variables",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_hudtitle_default_font",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_global_font_name": "default",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_global_font_backup_name": "default"
}
]
}
]
},
// ???/?? ??
"hud_actionbar_text/actionbar_message": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"hud_tip_text": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_black')",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "variables",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_hudtitle_default_font",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_global_font_name": "default",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_global_font_backup_name": "default"
}
]
}
]
},
// ???/?? ??
"hud_tip_text/item_text_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"anim_item_name_background_alpha_out": {
// 시작 값
"from": "$rainbowpie_ui_theme_hud_itemname_background_alpha"
},
// ???/?? ??
"anim_item_name_background_alpha_in": {
// 끝 값
"to": "$rainbowpie_ui_theme_hud_itemname_background_alpha"
},
// ???/?? ??
"item_name_text_root/item_text_aligner/item_text_control/item_text_background": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_hud_itemname_background_color",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "variables",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_huditemname_default_font",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_global_font_name": "default",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_global_font_backup_name": "default"
}
]
}
]
},
// ???/?? ??
"item_name_text_root/item_text_aligner/item_text_control/item_text_label": {
"max_size": [ 200, 100 ],
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_hud_itemname_text_color",
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
"shadow": false
},
// ???/?? ??
"hud_player_renderer/hud_player": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_0ffd0593)"
},
// ???/?? ??
"hud_player_renderer": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{ "live_player_renderer@rainbowpieui_hud.live_player_renderer": {} }
]
}
]
},
// ???/?? ??
"player_position": {
// Ignore player_position when using HotbarMode 2
"ignored": "(not $rainbowpie_ui_flag_disable_custom_chat_ui and (($rainbowpie_ui_flag_hud_hotbar_mode = 2) or (not $touch) or $rainbowpie_ui_flag_6d2ac350))"
},
// ???/?? ??
"number_of_days_played": {
// Ignore number_of_days_played when using HotbarMode 2
"ignored": "(not $rainbowpie_ui_flag_disable_custom_chat_ui and (($rainbowpie_ui_flag_hud_hotbar_mode = 2) or (not $touch) or $rainbowpie_ui_flag_6d2ac350))"
},
// ???/?? ??
"chat_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_disable_custom_chat_ui and ((not $touch) or $rainbowpie_ui_flag_6d2ac350))"
},
// ???/?? ??
"exp_progress_bar_and_hotbar/resizing_xp_bar_with_hotbar": {
// 완전히 제거(공간도 없음)
"ignored": "(not ($rainbowpie_ui_flag_hud_hotbar_mode = 0))"
},
// ???/?? ??
"hotbar_chooser": {
// 완전히 제거(공간도 없음)
"ignored": "(not ($rainbowpie_ui_flag_hud_hotbar_mode = 0))"
},
// ???/?? ??
"exp_progress_bar_and_hotbar/resizing_hotbar_locator_bar": {
// 완전히 제거(공간도 없음)
"ignored": "(not ($rainbowpie_ui_flag_hud_hotbar_mode = 0))"
},
// ???/?? ??
"root_panel": {
"animation_reset_name": "screen_animation_reset",
// 애니메이션 목록
"anims": [
"@rainbowpieui_hud.hud_root_panel_back_animation",
"@rainbowpieui_hud.hud_root_panel_back_animation_pop",
"@rainbowpieui_hud.hud_root_panel_animation",
"@rainbowpieui_hud.hud_root_panel_animation_pop"
],
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{ "rainbowpie_root_panel@rainbowpieui_hud.rainbowpie_root_panel": {} }
]
},
{
// ??? ???
"control_name": "centered_gui_elements_at_bottom_middle_touch",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"centered_gui_elements_at_bottom_middle_touch2@centered_gui_elements_at_bottom_middle": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_visible_centered_touch",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
}
]
}
]
},
// ???/?? ??
"hud_content": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{ "rainbowpie_hud_panel@rainbowpieui_hud.rainbowpie_hud_panel": {} }
]
}
]
},
// ???/?? ??
"hud_screen": {
// 오버라이드 가능한 변수
"$use_loading_bars": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_watermark": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "hud"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: in_bed_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "bed",
// ???/?? ??
"in_bed_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "bed",
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_bed.in_bed_screen_content"
},
// ???/?? ??
"in_bed_screen_content/wake_up_button_panel/wake_up_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_form_fitting_button"
},
// ???/?? ??
"in_bed_screen_content/wake_up_button_panel/chat_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_form_fitting_button"
},
// ???/?? ??
"in_bed_screen_content/wake_up_label_panel": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: inventory_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "crafting",
// ???/?? ??
"tab_content/tab_content_search_bar_panel/vertical_padding_2": {
// 가로/세로 크기
"size": [ 0, 2 ]
},
// ???/?? ??
"tab_content/tab_content_search_bar_panel/vertical_padding_3": {
// 가로/세로 크기
"size": [ 0, 1 ]
},
// ???/?? ??
"tab_content/tab_content_search_bar_panel/search_and_filter_panel": {
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#toggle_state": true
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_left_tab_search"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_search_box_vanilla",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#toggle_state",
// 완전히 제거(공간도 없음)
"ignored": "($search_button_ignored or (not $rainbowpie_ui_flag_ef158e0f))"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_left_tab_search and #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"tab_content/tab_content_search_bar_panel": {
// 가로/세로 크기
"size": [ "100% - 6px", "100% - 6px" ],
// 오버라이드 가능한 변수
"$search_button_ignored|default": true,
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "search_and_filter_panel",
// ?? ??
"operation": "insert_before",
// ??? ?
"value": [
{
// ???/?? ??
"search_and_filter_button_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100% + 1px", 16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 오버라이드 가능한 변수
"$focus_id": "recipe_search_bar",
// 오버라이드 가능한 변수
"$focus_override_right": "craftable_toggle",
// 오버라이드 가능한 변수
"$focus_override_up": "construction_tab",
// 완전히 제거(공간도 없음)
"ignored": "($search_button_ignored or (not $rainbowpie_ui_flag_ef158e0f))",
// 보이기/숨기기(공간 유지)
"visible": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_left_tab_search"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "show_search_box_vanilla",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#toggle_state"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_left_tab_search and (not #toggle_state))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"search_button@rainbowpieui_crafting.vanilla_search_button_toggle_base": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 2px" ],
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 1000,
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "show_search_box_vanilla",
// 겹치는 순서(숫자 클수록 위)
"layer": 10
}
},
{
// ???/?? ??
"padding_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 0 ]
}
},
{
// ???/?? ??
"filter_toggle_holder": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #is_creative_mode)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"filter_toggle@crafting.filter_toggle": {
// 기준점에서 이동하는 거리
"offset": [ 1, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 오버라이드 가능한 변수
"$focus_id": "craftable_toggle",
// 오버라이드 가능한 변수
"$focus_override_left": "recipe_search_bar",
// 오버라이드 가능한 변수
"$default_border_visible": false,
// 오버라이드 가능한 변수
"$hover_border_visible": false
}
}
]
}
}
]
}
}
]
}
]
},
// ???/?? ??
"recipe_inventory_screen_content": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"crafting_helper_controller@rainbowpieui_crafting.crafting_helper_controller": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"compass_panel@rainbowpieui_crafting.compass_panel": {}
}
]
}
]
},
// ???/?? ??
"player_inventory": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_actions_inventory@rainbowpie_module_inventory_actions.inventory_actions_inventory": {
}
}
]
}
]
},
// ???/?? ??
"recipe_inventory_screen_content/content_stack_panel/recipe_book": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "#is_survival_layout"
},
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "#is_recipe_book_layout"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not #is_survival_layout and not #is_recipe_book_layout)",
// 결과가 들어갈 속성
"target_property_name": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_72873fec)"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not #is_survival_layout)",
// 결과가 들어갈 속성
"target_property_name": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_72873fec"
}
]
},
// ???/?? ??
"recipe_inventory_screen_content/content_stack_panel": {
// 가로/세로 크기
"size": "$inventory_screen_size",
// 오버라이드 가능한 변수
"$inventory_screen_size": [ 326, 166 ],
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "player_inventory",
// ?? ??
"operation": "insert_before",
// ??? ?
"value": [
{
// ???/?? ??
"recipe_book_animated": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "150px", "100%" ],
// 애니메이션 목록
"anims": [
"@rainbowpieui_crafting.recipe_book_exit_animation_push",
"@rainbowpieui_crafting.recipe_book_exit_animation_pop",
"@rainbowpieui_crafting.recipe_book_entrance_animation_push",
"@rainbowpieui_crafting.recipe_book_entrance_animation_pop"
],
"animation_reset_name": "screen_animation_reset",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_72873fec)",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "#is_recipe_book_layout",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"recipe_book@crafting.recipe_book": {
// 오버라이드 가능한 변수
"$search_button_ignored": false,
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "146px", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ -8, 0 ]
}
}
]
}
},
{
// ???/?? ??
"center_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_84df7492 or $rainbowpie_ui_flag_72873fec)",
// 가로/세로 크기
"size": [ 4, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "#is_recipe_book_layout",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"player_inventory_root_panel@rainbowpieui_crafting.player_inventory": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_84df7492 or $rainbowpie_ui_flag_72873fec)",
// 오버라이드 가능한 변수
"$animation_ignored": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_search_ignored": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "#is_recipe_book_layout",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"player_inventory_root_panel_animated@rainbowpieui_crafting.player_inventory": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_84df7492)",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "#is_recipe_book_layout"
},
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "#is_survival_layout"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_survival_layout or #is_recipe_book_layout)",
// 결과가 들어갈 속성
"target_property_name": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_72873fec)"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_survival_layout)",
// 결과가 들어갈 속성
"target_property_name": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_72873fec"
}
]
}
}
]
},
{
// ?? ?? ??
"array_name": "variables",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_84df7492",
// 오버라이드 가능한 변수
"$inventory_screen_size": [ 326, 156 ]
}
]
}
]
},
// ???/?? ??
"recipe_inventory_screen_content/content_stack_panel/player_inventory": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_84df7492"
},
// ???/?? ??
"survival_panel_top_half": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{ "armor_durability_panel@rainbowpieui_crafting.armor_durability_panel": {} }
]
}
]
},
// ???/?? ??
"work_bench_panel_3x3/inventory_label": {
// 기준점에서 이동하는 거리
"offset": [ -21, 74 ]
},
// ???/?? ??
"inventory_container_item/item_cell/item/stack_count_label": {
},
// ???/?? ??
"creative_hotbar_panel/creative_hotbar_background": {
// 기준점에서 이동하는 거리
"offset": [ 0, 5 ],
// 가로/세로 크기
"size": [ "100%c + 6px", "100%c + 3px" ],
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_background_alpha"
},
// ???/?? ??
"creative_hotbar_panel/creative_hotbar_background/hotbar_grid": {
// 기준점에서 이동하는 거리
"offset": [ 0, -3 ],
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"layout_toggle_content/icon": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center"
},
// ???/?? ??
"recipe_inventory_screen_content/content_stack_panel/toolbar_anchor": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// ???/?? ??
"rainbowpie_toolbar": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", 23 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "#is_creative_layout",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_84df7492)"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"toolbar_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "default", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"left_trigger_anchor": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#gamepad_helper_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"gamepad_helper_left_trigger@common.gamepad_helper_left_trigger": {
// 기준점에서 이동하는 거리
"offset": [ 3, -2 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle"
}
}
]
}
},
{
// ???/?? ??
"creative_layout_toggle_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "#creative_layout_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"creative_layout_toggle@crafting.creative_layout_toggle": {
// 가로/세로 크기
"size": [ 25, "100%" ],
// 오버라이드 가능한 변수
"$focus_override_left": "search_tab",
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_tab_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_tab_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_tab_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_tab_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_tab_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_tab_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_tab_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_tab_checked_locked_hover",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_default_alpha": 0.3,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_hover_alpha": 0.6
}
}
]
}
},
{
// ???/?? ??
"recipe_book_layout_toggle_panel_survival": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 25, "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "(not #is_creative_mode)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"recipe_book_layout_toggle@crafting.recipe_book_layout_toggle": {
// 가로/세로 크기
"size": [ 25, "100%" ],
// 오버라이드 가능한 변수
"$focus_override_left": "search_tab",
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_tab_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_tab_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_tab_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_tab_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_tab_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_tab_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_tab_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_tab_checked_locked_hover",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_default_alpha": 0.3,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_hover_alpha": 0.6
}
}
]
}
},
{
// ???/?? ??
"recipe_book_layout_toggle_panel_creative": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "#is_creative_mode",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"recipe_book_layout_toggle@crafting.recipe_book_layout_toggle": {
// 가로/세로 크기
"size": [ 25, "100%" ],
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_tab_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_tab_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_tab_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_tab_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_tab_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_tab_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_tab_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_tab_checked_locked_hover",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_default_alpha": 0.3,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_hover_alpha": 0.6
}
}
]
}
},
{
// ???/?? ??
"survival_layout_toggle_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"survival_layout_toggle@crafting.survival_layout_toggle": {
// 가로/세로 크기
"size": [ 25, "100%" ],
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_tab_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_tab_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_tab_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_tab_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_tab_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_tab_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_tab_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_tab_checked_locked_hover",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_default_alpha": 0.3,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_unchecked_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_toggle_background_checked_hover_alpha": 0.6
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"button_background@rainbowpie_ui_inventory.header_background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"close_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%y", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#close_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@rainbowpie_ui_common.close_button": {
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_closebutton_default_color": "$rainbowpie_ui_theme_inventory_header_title_color",
// 오버라이드 가능한 변수
"$close_button_panel_size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"right_trigger_anchor": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#gamepad_helper_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"gamepad_helper_right_trigger@common.gamepad_helper_right_trigger": {
// 기준점에서 이동하는 거리
"offset": [ -2, -2 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle"
}
}
]
}
}
]
}
}
]
}
}
]
}
]
},
// ???/?? ??
"recipe_inventory_screen_content/content_stack_panel/toolbar_anchor/toolbar_panel": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"crafting_arrow": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/arrow')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"crafting_arrow_large": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/arrow_large')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"player_armor_panel/offhand_grid": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"player_armor_panel/armor_grid": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"player_armor_panel/player_bg": {
// 가로/세로 크기
"size": [ 54, 72 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [ 25, 7 ],
// ???
"alpha": 0.4
},
// ???/?? ??
"player_armor_panel/player_preview_border": {
// 사용할 이미지 경로
"texture": ""
},
// ???/?? ??
"tab_content/tab_content_search_bar_panel/search_and_filter_panel/text_edit_control": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_editbox_enabled": true
},
// ???/?? ??
"grid_item_for_recipe_book": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "variables",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_84df7492",
// 오버라이드 가능한 변수
"$background_images": "rainbowpieui_crafting.recipe_cell_panel"
}
]
}
]
},
// ???/?? ??
"recipe_container_cell_images": {
// ???
"alpha": 0.4,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#container_item_background_texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name",
// ?? ???
"binding_condition": "$cell_images_binding_condition"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#container_item_background_texture - 'textures/ui/')",
// 결과가 들어갈 속성
"target_property_name": "#container_item_background_texture_filename"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(($rainbowpie_ui_path_overrides + '/ui/') + #container_item_background_texture_filename)",
// 결과가 들어갈 속성
"target_property_name": "#texture"
}
]
},
// ???/?? ??
"cell_image_classic": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"cell_image_normal": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"cell_image_invert": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"cell_image_red": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_red_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_red_alpha"
},
// ???/?? ??
"cell_image_selected": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_highlight_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_highlight_alpha"
},
// ???/?? ??
"cell_image_darkgrey": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"inventory_container_item": {
},
// ???/?? ??
"scroll_panel": {
// 오버라이드 가능한 변수
"$scroll_background_image_control": "rainbowpie_ui_common.container_scroll_background_image"
},
// ???/?? ??
"recipe_book_scroll_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true
},
// ???/?? ??
"creative_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"crafting_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"inventory_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"top_tab": {
// 오버라이드 가능한 변수
"$tab_panel": "rainbowpie_ui_tab.tab_panel",
// 오버라이드 가능한 변수
"$tab_image_size": [ "100%", "100% - 4px" ],
// 오버라이드 가능한 변수
"$tab_image_anchor": "top_middle",
// 오버라이드 가능한 변수
"$tab_content_size": [ "100% - 4px", "100% - 8px" ],
// 오버라이드 가능한 변수
"$tab_content_offset": [ 0, 2 ],
// 오버라이드 가능한 변수
"$tab_content_anchor": "top_middle",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_alpha": "$rainbowpie_ui_theme_inventory_header_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_alpha": 0.6
},
// ???/?? ??
"recipe_book/tab_navigation_panel": {
},
// ???/?? ??
"center_fold/center_bg": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"player_inventory/common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background"
},
// ???/?? ??
"recipe_book/bg": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: inventory_screen_pocket.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "crafting_pocket",
// ???/?? ??
"crafting_arrow_down": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/arrow_down')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"scroll_panel_pocket": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true
},
// ???/?? ??
"right_tab_navigation_panel_pocket/content": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// ???/?? ??
"close_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 33 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_background@rainbowpie_ui_inventory.header_background": {
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "100% - 4px", 33 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@rainbowpie_ui_common.close_button": {
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_closebutton_default_color": "$rainbowpie_ui_theme_inventory_header_title_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
}
}
]
}
}
]
}
]
},
// ???/?? ??
"right_tab_navigation_panel_pocket/content/close": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"pocket_armor_tab_content/label_and_renderer/label_panel/armor_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"pocket_armor_tab_content/label_and_renderer/renderer_panel": {
},
// ???/?? ??
"pocket_armor_tab_content/equipment_and_renderer/armor_panel/armor_and_player/player_preview_border/player_bg": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// ???
"alpha": 0.4
},
// ???/?? ??
"pocket_armor_tab_content/equipment_and_renderer/armor_panel/armor_and_player/player_preview_border": {
// 사용할 이미지 경로
"texture": ""
},
// ???/?? ??
"pocket_armor_tab_content/equipment_and_renderer/equipment/offhand_grid": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"pocket_armor_tab_content/equipment_and_renderer/equipment/armor_grid": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"hotbar_panel/bg": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"right_tab_content/bg": {
// 완전히 제거(공간도 없음)
"ignored": true,
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background"
},
// ???/?? ??
"right_tab": {
// 오버라이드 가능한 변수
"$checked_bar_anchor": "right",
// 오버라이드 가능한 변수
"$tab_panel": "rainbowpie_ui_tab.tab_panel",
// 오버라이드 가능한 변수
"$tab_image_size": [ "100% - 4px", "100%" ],
// 오버라이드 가능한 변수
"$tab_image_anchor": "right_middle",
// 오버라이드 가능한 변수
"$tab_content_size": [ "100% - 4px", "100% - 8px" ],
// 오버라이드 가능한 변수
"$tab_content_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$tab_content_anchor": "right_middle",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_alpha": "$rainbowpie_ui_theme_inventory_header_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_alpha": 0.6
},
// ???/?? ??
"right_panel/right_background": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background"
},
// ???/?? ??
"both_panels/offset_panel/center_bg": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"left_tab": {
// 오버라이드 가능한 변수
"$checked_bar_anchor": "left",
// 오버라이드 가능한 변수
"$tab_panel": "rainbowpie_ui_tab.tab_panel",
// 오버라이드 가능한 변수
"$tab_image_size": [ "100% - 4px", "100%" ],
// 오버라이드 가능한 변수
"$tab_image_anchor": "left_middle",
// 오버라이드 가능한 변수
"$tab_content_size": [ "100% - 4px", "100% - 8px" ],
// 오버라이드 가능한 변수
"$tab_content_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$tab_content_anchor": "left_middle",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_alpha": "$rainbowpie_ui_theme_inventory_header_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_alpha": 0.6
},
// ???/?? ??
"left_panel/left_background": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: invite_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "invite",
// Fix layout on v1.21.44
"online_xbox_live_friend_list_grid": {
"grid_item_template": "invite.online_xbox_live_friend_grid_item"
},
// ???/?? ??
"offline_xbox_live_friend_list_grid": {
"grid_item_template": "invite.offline_xbox_live_friend_grid_item"
},
// ???/?? ??
"online_platform_friend_list_grid": {
"grid_item_template": "invite.online_platform_friend_grid_item"
},
// ???/?? ??
"offline_platform_friend_list_grid": {
"grid_item_template": "invite.offline_platform_friend_grid_item"
},
// ???/?? ??
"online_linked_account_friend_list_grid": {
"grid_item_template": "invite.online_linked_account_friend_grid_item"
},
// ???/?? ??
"offline_linked_account_friend_list_grid": {
"grid_item_template": "invite.offline_linked_account_friend_grid_item"
},
// ???/?? ??
"msa_friend_button_layout/friend_grid_label_layout/spacer_01": {
// 가로/세로 크기
"size": [ "100%", 1.5 ]
},
// ???/?? ??
"msa_friend_button_layout/spacer_02": {
// 가로/세로 크기
"size": [ 5, "100%" ]
},
// ???/?? ??
"msa_friend_button_layout/spacer01": {
// 가로/세로 크기
"size": [ 23, "100%" ]
},
// ???/?? ??
"gamerpic_panel": {
// 가로/세로 크기
"size": [ "100%y", "100%" ]
},
// ???/?? ??
"gamerpic_panel/gamerpic": {
// 가로/세로 크기
"size": [ "100%", "100%" ]
},
// ???/?? ??
"template_msa_friend_button_layout": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"friend_background_hover@invite.friend_background_hover": {
// 보이기/숨기기(공간 유지)
"visible": "(($check_state_panel = 'invite.checked_hover_panel') or ($check_state_panel = 'invite.unchecked_hover_panel'))"
}
}
]
}
]
},
// ???/?? ??
"template_platform_friend_button_layout": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"friend_background_hover@invite.friend_background_hover": {
// 보이기/숨기기(공간 유지)
"visible": "(($check_state_panel = 'invite.checked_hover_panel') or ($check_state_panel = 'invite.unchecked_hover_panel'))"
}
}
]
}
]
},
// ???/?? ??
"template_linked_friend_button_layout": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"friend_background_hover@invite.friend_background_hover": {
// 보이기/숨기기(공간 유지)
"visible": "(($check_state_panel = 'invite.checked_hover_panel') or ($check_state_panel = 'invite.unchecked_hover_panel'))"
}
}
]
}
]
},
// ???/?? ??
"template_msa_friend_button_layout/friend_background": {
// 완전히 제거(공간도 없음)
"ignored": "(($check_state_panel = 'invite.checked_hover_panel') or ($check_state_panel = 'invite.unchecked_hover_panel'))"
},
// ???/?? ??
"template_platform_friend_button_layout/friend_background": {
// 완전히 제거(공간도 없음)
"ignored": "(($check_state_panel = 'invite.checked_hover_panel') or ($check_state_panel = 'invite.unchecked_hover_panel'))"
},
// ???/?? ??
"template_linked_friend_button_layout/friend_background": {
// 완전히 제거(공간도 없음)
"ignored": "(($check_state_panel = 'invite.checked_hover_panel') or ($check_state_panel = 'invite.unchecked_hover_panel'))"
},
// ???/?? ??
"black_border": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha"
},
// ???/?? ??
"black_border_hover": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_button_background_hover_color",
// ???
"alpha": "$rainbowpie_ui_theme_button_background_hover_alpha"
},
// ???/?? ??
"frame_label": {
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color"
},
// ???/?? ??
"label": {
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color",
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"friends_pagination_controls/center_panel/page_counter": {
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color",
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"friend_label": {
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color",
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"panel_text": {
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color",
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"invite_button_content/button_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"invite_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "invite",
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_invite.invite_screen_content"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: loom_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "loom",
// ???/?? ??
"arrow_icon": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/arrow_large')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"pattern_book_panel/scroll_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scroll_background_image_control": "rainbowpie_ui_common.container_scroll_background_image",
// 가로/세로 크기
"size": [ "100% - 13px", "100% - 11px" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -5 ]
},
// ???/?? ??
"pattern_book_panel/bg": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 5px" ]
},
// ???/?? ??
"screen_stack_panel/toolbar_anchor": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"center_fold": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"loom_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"top_half_panel": {
// 기준점에서 이동하는 거리
"offset": [ 0, 25 ]
},
// ???/?? ??
"right_panel/loom_screen_inventory/loom_label": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"right_panel/common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 28px" ]
},
// ???/?? ??
"right_panel/loom_screen_inventory": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "variables",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_84df7492",
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_inventory_and_container.cell_panel"
}
]
},
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "container.loom"
}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: loom_screen_pocket.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "loom_pocket",
// ???/?? ??
"right_navigation_tabs/pocket_tab_close_and_help_button": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"right_navigation_tabs/fill": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"right_navigation_tabs/right_tab_loom": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"right_navigation_tabs": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// ???/?? ??
"close_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 33 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_background@rainbowpie_ui_inventory.header_background": {
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "100% - 4px", 33 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@rainbowpie_ui_common.close_button": {
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_closebutton_default_color": "$rainbowpie_ui_theme_inventory_header_title_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
}
}
]
}
}
]
}
]
},
// ???/?? ??
"pattern_scroll_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scroll_background_image_control": "rainbowpie_ui_common.container_scroll_background_image"
},
// ???/?? ??
"loom_content_stack_panel": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"inventory_scroll_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scroll_background_image_control": "rainbowpie_ui_common.container_scroll_background_image",
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"right_tab_loom": {
// 오버라이드 가능한 변수
"$checked_bar_anchor": "right",
// 오버라이드 가능한 변수
"$tab_panel": "rainbowpie_ui_tab.tab_panel",
// 오버라이드 가능한 변수
"$tab_image_size": [ "100% - 4px", "100%" ],
// 오버라이드 가능한 변수
"$tab_image_anchor": "right_middle",
// 오버라이드 가능한 변수
"$tab_content_size": [ "100% - 4px", "100% - 8px" ],
// 오버라이드 가능한 변수
"$tab_content_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$tab_content_anchor": "right_middle",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_alpha": "$rainbowpie_ui_theme_inventory_header_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_alpha": 0.6
},
// ???/?? ??
"right_panel/content/bg": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background"
},
// ???/?? ??
"left_tab_patterns": {
// 오버라이드 가능한 변수
"$checked_bar_anchor": "left",
// 오버라이드 가능한 변수
"$tab_panel": "rainbowpie_ui_tab.tab_panel",
// 오버라이드 가능한 변수
"$tab_image_size": [ "100% - 4px", "100%" ],
// 오버라이드 가능한 변수
"$tab_image_anchor": "left_middle",
// 오버라이드 가능한 변수
"$tab_content_size": [ "100% - 4px", "100% - 8px" ],
// 오버라이드 가능한 변수
"$tab_content_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$tab_content_anchor": "left_middle",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_alpha": "$rainbowpie_ui_theme_inventory_header_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_alpha": 0.6
},
// ???/?? ??
"left_tab_inventory": {
// 오버라이드 가능한 변수
"$checked_bar_anchor": "left",
// 오버라이드 가능한 변수
"$tab_panel": "rainbowpie_ui_tab.tab_panel",
// 오버라이드 가능한 변수
"$tab_image_size": [ "100% - 4px", "100%" ],
// 오버라이드 가능한 변수
"$tab_image_anchor": "left_middle",
// 오버라이드 가능한 변수
"$tab_content_size": [ "100% - 4px", "100% - 8px" ],
// 오버라이드 가능한 변수
"$tab_content_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$tab_content_anchor": "left_middle",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_alpha": "$rainbowpie_ui_theme_inventory_header_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_alpha": 0.6
},
// ???/?? ??
"left_panel/content/bg": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: manifest_validation_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "manifest_validation",
// ???/?? ??
"manifest_validation_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_blur": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "manifest_validation",
"force_render_below": false,
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_manifest_validation.manifest_validation_screen_content"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: mob_effect_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "mob_effect",
// ???/?? ??
"mob_effect_screen": {
"close_on_player_hurt": false
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: npc_interact_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "npc_interact",
// ???/?? ??
"npc_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "npc_interact",
"force_render_below": true,
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_npc_interact.npc_screen_contents",
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_exit",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_exit",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_exit",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
]
},
// ???/?? ??
"basic_stack_panel/name_label": {
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_content_color",
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"basic_stack_panel/appearance_label": {
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_content_color",
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"npc_message/label": {
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_content_color",
"locked_color": "$rainbowpie_ui_theme_dialog_content_color",
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"student_message_bubble": {
// 사용할 이미지 경로
"texture": ""
},
// ???/?? ??
"student_message_section/point": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"message_model/model": {
// 기준점에서 이동하는 거리
"offset": [ 0, 15 ]
},
// ???/?? ??
"message_model_window": {
// 사용할 이미지 경로
"texture": ""
},
// ???/?? ??
"student_button_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"student_button/button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$button_content": "npc_interact.student_button_label_panel"
},
// ???/?? ??
"basic_stack_panel/dialog_label": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"basic_stack_panel/dialog_post_padding": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"basic_stack_panel/dialog__padding": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"basic_stack_panel/dialog_button": {
// 완전히 제거(공간도 없음)
"ignored": true
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: online_safety_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "online_safety",
// ???/?? ??
"ip_safety_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "ip_safety",
// 오버라이드 가능한 변수
"$rainbowpie_localui_background_animations": [
"@rainbowpieui_online_safety.exit_animation_push",
"@rainbowpieui_online_safety.exit_animation_pop"
],
// 오버라이드 가능한 변수
"$screen_animations": [
"@rainbowpieui_online_safety.exit_animation_push",
"@rainbowpieui_online_safety.exit_animation_pop"
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.back",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.proceed",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
],
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_online_safety.ip_safety_screen_content",
// 오버라이드 가능한 변수
"$text_name": "onlinePlay.untrustedIp.title",
// 오버라이드 가능한 변수
"$description_text": "onlinePlay.untrustedIp.message"
},
// ???/?? ??
"do_not_show_checkbox/header_description_stack_panel/checkbox_visuals": {
// 가로/세로 크기
"size": [ "100%", "100%" ]
},
// ???/?? ??
"do_not_show_checkbox/header_description_stack_panel/buffer_panel": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"do_not_show_checkbox/header_description_stack_panel/another_panel": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"online_safety_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_ingame": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "online_safety",
// 오버라이드 가능한 변수
"$rainbowpie_localui_background_animations": [
"@rainbowpieui_online_safety.exit_animation_push",
"@rainbowpieui_online_safety.exit_animation_pop"
],
// 오버라이드 가능한 변수
"$screen_animations": [
"@rainbowpieui_online_safety.exit_animation_push",
"@rainbowpieui_online_safety.exit_animation_pop"
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.back",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.proceed",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
],
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_online_safety.online_safety_screen_content"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: pack_settings_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "pack_settings",
// ???/?? ??
"pack_scroll_panel": {
// 오버라이드 가능한 변수
"$scrolling_content": "rainbowpieui_pack_settings.scrolling_content"
},
// ???/?? ??
"content_tiering_panel/slider_panel/content_tier_slider": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_sliderbar_enabled": true,
// 가로/세로 크기
"size": [ "100% - 10px", 10 ]
},
// ???/?? ??
"content_tiering_panel/label_panel/content_tier_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// 가로/세로 크기
"size": [ "100%", "default" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ]
},
// ???/?? ??
"content_tiering_panel/label_panel/unsupported_content_tier_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// 가로/세로 크기
"size": [ "100%", "default" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ]
},
// ???/?? ??
"content_tiering_panel/incompatible_label_panel/label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// 가로/세로 크기
"size": [ "100%", "default" ],
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ]
},
// ???/?? ??
"scrolling_content/generated_form": {
},
// ??? ??
"scrolling_content": {
// 가로/세로 크기
"size": [ "100%", "100%c" ]
},
// ???/?? ??
"screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_blur": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "pack_settings",
"force_render_below": false,
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_pack_settings.main_screen_content"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: pause_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "pause",
// ???/?? ??
"quit_button": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "variables",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// 이 조건이 맞으면 적용
"requires": "$is_on_3p_server",
// 오버라이드 가능한 변수
"$button_text": "menu.disconnect"
}
]
}
]
},
// ???/?? ??
"pause_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_watermark": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "pause",
// 오버라이드 가능한 변수
"$rainbowpie_localui_backup_screen": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_backup_screen_content": "rainbowpieui_pause.pause_screen_content",
"force_render_below": true
},
// ???/?? ??
"player_gamertag": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$text_color"
},
// ???/?? ??
"player_button_content/player_pic_panel": {
// 가로/세로 크기
"size": [ 24, "100%" ]
},
// ???/?? ??
"player_gamer_pic": {
// 가로/세로 크기
"size": [ 20, 20 ]
},
// ???/?? ??
"player_gamer_pic/player_panel_black_border": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"player_button_content": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ]
},
// ???/?? ??
"player_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "players_collection"
}
]
},
// ???/?? ??
"player_permission_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "bindings",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 가져올 값 이름
"binding_name": "#permissions_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled"
}
]
}
]
},
// ???/?? ??
"player_grid_item_content/player_button_panel/player_permission_button_padding": {
// 가로/세로 크기
"size": [ 29, "100%" ],
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "bindings",
// ?? ??
"operation": "remove",
// ???/?? ??
"where": {
// 가져올 값 이름
"binding_name": "#permissions_button_visible"
}
}
]
},
// ???/?? ??
"player_grid_item_content/player_button_panel/player_button_banner/player_banner": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"player_grid_item_content/player_button_panel": {
// 가로/세로 크기
"size": [ "100%", "100%" ]
},
// ???/?? ??
"player_grid_item_content/player_permission_button_panel": {
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "bindings",
// ?? ??
"operation": "remove",
// ???/?? ??
"where": {
// 가져올 값 이름
"binding_name": "#permissions_button_visible"
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: pdp_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "pdp",
// ???/?? ??
"price_panel/offer_prompt_panel/offer_status_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"description_inner_panel/description_stack_panel/languages_panel/label_text_panel/label_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"description_inner_panel/description_stack_panel/players_panel/text_panel/text_stack_panel/note_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"description_inner_panel/description_stack_panel/players_panel/text_panel/text_stack_panel/player_count_button_panel/player_count_range_panel/player_count_range_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"description_inner_panel/description_stack_panel/players_panel/label_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"description_inner_panel/description_stack_panel/genre_panel/text_panel/text_stack_panel/slash_divider": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"description_inner_panel/description_stack_panel/genre_panel/label_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"description_inner_panel/description_stack_panel/tags_panel/label_text_panel/label_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"description_inner_panel/description_stack_panel/title_stack_panel/title_text_panel/title_panel/title_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"language_button_panel/comma": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"player_count_button_panel/comma": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"tag_button_panel/button/label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"appearance_status_content/last_update_panel/last_update_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"realms_incompatable_content/realms_content_stack_panel/realms_incompatable_button_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"glyph_count_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"warning_stack_panel/warning_text_panel/warning_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"description_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"csb_expiration/background/content_stack_panel/text_wrapper/text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"ratings_interact_panel/fill_pad/text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"ratings_interact_panel/title_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"ratings_chart_panel/ratings_chart_content/count_panel/count": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"ratings_chart_panel/ratings_chart_content/rating_text_panel/rating_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"ratings_chart_panel/ratings_chart_content/title/title_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"chart_section/stack/percent": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"chart_section/stack/star_number_panel/star_number": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"section_header/header_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"price_markdown_panel/offer_price": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"coin_purchase_label_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"discount_label/label_panel/label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"smooth_currency_purchase_label/currency_purchase_label_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"currency_purchase_label/currency_purchase_label_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"interact_label_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"download_progress_small/stacker/sizer_text/download_progress_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"interaction_button_content/line1_panel/upsell_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"download_progress/stacker/sizer_text/download_progress_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: permissions_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "permissions",
// ???/?? ??
"permissions_options_grid_item/option_toggle": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_offset": [ 0, 2 ],
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpieui_settings_common.rainbowpie_ui_option_toggle_off",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpieui_settings_common.rainbowpie_ui_option_toggle_on",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_option_toggle_off_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_option_toggle_on_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_option_toggle_off_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_option_toggle_off_locked",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_option_toggle_on_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_option_toggle_on_locked"
},
// ???/?? ??
"permissions_options_stack_panel/permission_level_dropdown": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"permission_level_radio_visitor@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#permission_level_radio_visitor",
// 오버라이드 가능한 변수
"$radio_label_text": "permissions.level.visitor"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"permission_level_radio_member@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#permission_level_radio_member",
// 오버라이드 가능한 변수
"$radio_label_text": "permissions.level.member"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"permission_level_radio_operator@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#permission_level_radio_operator",
// 오버라이드 가능한 변수
"$radio_label_text": "permissions.level.operator"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"permission_level_radio_custom@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#permission_level_radio_custom",
// 오버라이드 가능한 변수
"$radio_label_text": "permissions.level.custom"
}
}
]
},
// ???/?? ??
"banner_background": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_global_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_global_background_alpha"
},
// ???/?? ??
"player_button_content/gamertag_panel/gamertag_label": {
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ]
},
// ???/?? ??
"player_local_icon": {
// 가로/세로 크기
"size": [ 20, 20 ],
// 사용할 이미지 경로
"texture": "textures/ui/icon_steve"
},
// ???/?? ??
"player_gamer_pic/player_panel_black_border": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"player_gamer_pic": {
// 가로/세로 크기
"size": [ 20, 20 ]
},
// ???/?? ??
"player_button_content": {
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "100% - 4px", "100% - 4px" ]
},
// ???/?? ??
"selector_area/player_scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 1, 0 ]
},
// ???/?? ??
"player_grid_item/player_toggle": {
// 가로/세로 크기
"size": [ "100%", "100%" ]
},
// ???/?? ??
"player_toggle": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_locked",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_locked"
},
// ???/?? ??
"title_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"ip_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"world_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"gamertag_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"option_state_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"option_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"radio_title_and_icon/radio_title": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"radio_content_with_title_bar/helper_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"permissions_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "permissions",
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_permissions.permissions_screen_content"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: persona_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "persona",
// ???/?? ??
"persona_screen_content": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background_blur_panel@rainbowpieui_persona.background_blur_panel": {}
}
]
}
]
},
// ???/?? ??
"right_side_stack_debug_control": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_using_dressing_room_debugging",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_persona_debug"
}
]
},
// ???/?? ??
"persona_classic_skin_paper_doll": {
"camera_tilt_degrees": 0
},
// ???/?? ??
"popup_dialog_skin_model/paper_doll": {
"camera_tilt_degrees": 0
},
// ???/?? ??
"skin_viewer_panel_skin_model/skin_model": {
"camera_tilt_degrees": 0,
"starting_rotation": 0
},
// ???/?? ??
"popup_dialog__restricted_content_popup": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dialog_panel@rainbowpie_ui_dialog.dialog_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 가로/세로 크기
"size": [ 204, 132 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "dr.modal.restricted_content_title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_persona.restricted_content_popup_dialog_content",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_show_background": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_show_close": false
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background2@rainbowpieui_profile.background_panel_design2": {
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}
}
]
},
// ???/?? ??
"equip_button_content": {
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ]
},
// ???/?? ??
"cape_button_content/stack_content/content_label_panel/content_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"button_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"persona_skin_pack_panel/pack_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"skin_pack_expand_pack": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"switch_persona_and_classic_repeat_check_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"switch_persona_and_classic_message": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"switch_persona_and_classic_title": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"custom_skin_info_panel_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"limb_side_switcher/title/limb_title": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"piece_section_title_panel/title": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"label_image_button_content/content_label_panel/content_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"sub_category_label_image_button_content/stack_content/content_label_panel/content_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"skin_info_label_panel_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"color_picker_panel/top_bar/title/skin_title": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"loading_progress_bars/loading_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"body_size_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"arm_size_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"usage_limited_right_panel_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"to_realms_plus_screen_realms_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"realms_extra_info_panel_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"appearance_status_panel/appearance_status/label_panel/label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"info_text_box_description_stack_description_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"persona_getting_started_description": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"right_side_stack_debug_control/debug_preview_skin_name": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"right_side_stack_debug_control/debug_skin_names/debug_active_name": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"right_side_stack_debug_control/debug_skin_names/debug_current_name": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"special_offer_banner/banner_info/special_banner_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"title_rarity_right_title": {
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"title_rarity_positionable_title": {
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"equip_piece_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"realms_redeem_button_content/realms_text_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"realms_savings_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"roamable_status_notification_panel/appearance_status_notification": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_05aab186"
},
// ???/?? ??
"appearance_status_panel": {
},
// ???/?? ??
"persona_getting_started_title": {
// 기준점에서 이동하는 거리
"offset": [ 2, 2 ],
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_title_text_color"
},
// ???/?? ??
"right_panel_classic_skins_title/title_panel/title": {
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_title_text_color"
},
// ???/?? ??
"right_panel_classic_skins_title/author_panel/author": {
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_title_text_color"
},
// ???/?? ??
"select_custom_skin_stack": {
// 가로/세로 크기
"size": [ "100% - 2px", 20 ]
},
// ???/?? ??
"select_custom_skin": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_form_fitting_button"
},
// ???/?? ??
"cape_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"subcategory_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"realms_redeem_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"realms_subscription_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"offer_coin_purchase_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"equip_piece_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"right_realms_pack_button_more_info": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"info_popup_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"info_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"preview_skin_full": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"color_picker_right_cycle": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"color_picker_left_cycle": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"leave_color_picker": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"left_limb_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"right_limb_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"skin_color_picker": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"color_grid_item": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"popup_dialog_choose_skin_type_panel/choose_skin_type_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"persona_skin_pack_panel/pack_body/skin_pack_panel/expand_view_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"get_more_skins_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"offer_real_money_purchase_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"achievement_text_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"popup_dialog_close_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"see_skin_pack_in_store": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"none_piece_option_panel/none_piece_option_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"usage_limited_settings_profile_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"differences_popup_ok_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"see_more_skins_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"purchase_buttons/emote_play_again_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"emote_offer_section_panel/remove_emote_option_panel/none_emote_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"scroll_section": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scroll_size": [ 4, "100% - 6px" ]
},
// ???/?? ??
"right_side_classic_skin_featured_panel": {
// 오버라이드 가능한 변수
"$right_side_dialog_bg_size": [ "100%", "100%c" ]
},
// ???/?? ??
"persona_getting_started_panel": {
// 오버라이드 가능한 변수
"$right_side_dialog_bg_size": [ "100%", "100%" ]
},
// ???/?? ??
"piece_list_right_side_section": {
// 오버라이드 가능한 변수
"$dialog_bg_size": [ "100%", "100%" ]
},
// ???/?? ??
"right_side_dialog_panel": {
// 오버라이드 가능한 변수
"$right_side_dialog_bg_size|default": [ "100%", "100%" ]
},
// ???/?? ??
"dialog_background_object_content": {
// 오버라이드 가능한 변수
"$dialog_bg_size|default": [ "100%", "100%" ],
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha"
},
// ???/?? ??
"dialog_background_object": {
// 사용할 이미지 경로
"texture": ""
},
// ???/?? ??
"persona_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "persona",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_blur": "(not $rainbowpie_ui_flag_d28dfac0)",
// 오버라이드 가능한 변수
"$screen_bg_content": "common.empty_panel",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_d28dfac0",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_anims": []
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: play_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "play",
// ???/?? ??
"play_screen": {
// 오버라이드 가능한 변수
"$is_pregame": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_ingame": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "play",
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_play.play_screen_content"
},
// REF
"third_party_server_info_panel/server_info_stack_panel/join_server_button": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_play_bottom_panel and (not $game_pad))",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"additional_server_info_panel/server_info_stack_panel/join_server_button": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_play_bottom_panel and (not $game_pad))",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"server_scroll_panel/stack_panel/add_server_button": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_play_bottom_panel and (not $game_pad))"
},
// ???/?? ??
"add_server_toggle_button": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_button_checked_locked_hover"
},
// ???/?? ??
"manually_added_servers_scrolling_content/padding_3": {
// 가로/세로 크기
"size": [ "100%", 1 ]
},
// ???/?? ??
"more_servers_world_item/additional_server_toggle_base": {
// 가로/세로 크기
"size": [ "fill", "100%" ]
},
// ???/?? ??
"more_servers_world_item/network_server_world_edit_button": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"more_servers_world_item": {
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "network_server_world_edit_button",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// ???/?? ??
"padding_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ],
// 완전히 제거(공간도 없음)
"ignored": "$ignore_add_servers"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"network_server_world_edit_button2@common_buttons.dark_content_button": {
// 오버라이드 가능한 변수
"$focus_id": "edit_server",
// 오버라이드 가능한 변수
"$focus_override_right": "right_side",
// 완전히 제거(공간도 없음)
"ignored": "$ignore_add_servers",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_network_server_world_edit",
// 오버라이드 가능한 변수
"$button_content": "play.edit_icon",
// 오버라이드 가능한 변수
"$button_tts_header": "accessibility.play.editServer",
// 가로/세로 크기
"size": [ "100%y - 1px", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$collection_name"
},
{
// 가져올 값 이름
"binding_name": "#network_world_button_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled",
// 목록 이름
"binding_collection_name": "$collection_name",
// 목록 데이터를 반복 연결
"binding_type": "collection"
}
]
}
}
]
}
]
},
// ???/?? ??
"manually_added_servers_scrolling_content/padding_0": {
// 가로/세로 크기
"size": [ "100%", 0.5 ]
},
// ???/?? ??
"manually_added_servers_scrolling_content/padding_1": {
// 가로/세로 크기
"size": [ "100%", 1 ]
},
// ???/?? ??
"manually_added_servers_scrolling_content/more_servers_label": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"manually_added_servers_scrolling_content": {
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "more_servers_label",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"more_servers_title@rainbowpieui_play.list_title": {
// 가로/세로 크기
"size": [ "100%", 14 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_list_title_text": "thirdPartyWorld.Additional"
}
}
]
}
]
},
// ???/?? ??
"featured_server_world_item": {
// 가로/세로 크기
"size": [ "100%", 38 ]
},
// ???/?? ??
"server_toggle_base": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_texture": "",
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_locked",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_locked"
},
// ???/?? ??
"servers_content_panel/more_servers_divider": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"server_scroll_panel/stack_panel/padding_1": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"servers_content_panel/featured_servers_panel/padding_3": {
// 가로/세로 크기
"size": [ "100%", 0.5 ]
},
// ???/?? ??
"servers_content_panel/featured_servers_panel/padding_2": {
// 가로/세로 크기
"size": [ "100%", 1 ]
},
// ???/?? ??
"servers_content_panel/featured_servers_panel/padding_1": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"servers_content_panel/featured_servers_panel/featured_servers_label": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"servers_content_panel/featured_servers_panel": {
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "featured_servers_label",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"featured_servers_title@rainbowpieui_play.list_title": {
// 가로/세로 크기
"size": [ "100%", 14 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_list_title_text": "thirdPartyWorld.Featured"
}
}
]
}
]
},
// ???/?? ??
"server_scroll_panel/stack_panel": {
// 가로/세로 크기
"size": [ "100% - 2px", "100%c + 1px" ]
},
// ???/?? ??
"crossplatform_disabled_panel": {
// "bindings": []
},
// ???/?? ??
"server_scroll_panel/stack_panel/padding_0": {
// 가로/세로 크기
"size": [ "100%", 1.5 ]
},
// ???/?? ??
"show_servers_panel/divider_panel": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"realm_warning_tip": {
},
// ???/?? ??
"server_scroll_content/severs_panel/offset_panel": {
},
// ???/?? ??
"server_scroll_content/feature_server_message_panel": {
},
// ???/?? ??
"server_scroll_content": {
// 가로/세로 크기
"size": [ "100%", "100%" ]
},
// ???/?? ??
"network_world_item": {
// 가로/세로 크기
"size": [ "100%", 29 ]
},
// ???/?? ??
"network_world_item/network_world_item_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"label_content_template/label_panel": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"label_content_template": {
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "label_panel",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"friends_realms_title@rainbowpieui_play.list_title": {
// 보이기/숨기기(공간 유지)
"visible": "$label_panel_visible",
// 오버라이드 가능한 변수
"$rainbowpie_localui_list_title_text": "$label_content_label"
}
},
{
// ???/?? ??
"padding_title": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 0.5 ]
}
}
]
}
]
},
// ???/?? ??
"friends_scroll_panel/stack_panel/joinable_realms_panel/padding_1": {
// 가로/세로 크기
"size": [ "100%", 1 ]
},
// ???/?? ??
"friends_scroll_panel/stack_panel/joinable_realms_panel/no_realms_grid": {
},
// ???/?? ??
"sign_in_to_view_realms_button_friends": {
},
// ???/?? ??
"friends_scroll_panel/stack_panel": {
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "friends_crossplatform_disabled_panel",
// ?? ??
"operation": "insert_before",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"friends_crossplatform_disable_spacer2@play.crossplatform_disable_spacer": {
// 가로/세로 크기
"size": [ 1, 0.5 ],
// 완전히 제거(공간도 없음)
"ignored": "(not $is_realms_enabled)"
}
}
]
}
]
},
// ???/?? ??
"friends_scroll_panel/stack_panel/joinable_realms_panel/sign_in_to_view_realms_button_friends": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ]
},
// ???/?? ??
"friends_scroll_panel/stack_panel/joinable_realms_panel/friends_realms_label": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"friends_scroll_panel/stack_panel/joinable_realms_panel": {
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "friends_realms_label",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"friends_realms_title@rainbowpieui_play.list_title": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_list_title_text": "$tts_section_header",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#friends_realms_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
]
},
// ???/?? ??
"friends_scroll_panel/stack_panel/friends_crossplatform_disabled_panel": {
},
// ???/?? ??
"friends_scroll_panel/stack_panel/friends_crossplatform_disable_spacer": {
// 가로/세로 크기
"size": [ 1, 0.5 ]
},
// ???/?? ??
"notification_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"add_friend_and_invite_panel/padding_2": {
},
// ???/?? ??
"add_friend_and_invite_panel/notification_button_panel": {
},
// ???/?? ??
"add_friend_and_invite_panel/join_by_code_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ]
},
// ???/?? ??
"add_friend_and_invite_panel/add_friend_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ]
},
// ???/?? ??
"friends_scroll_panel/stack_panel/padding_0": {
// 가로/세로 크기
"size": [ "100%", 1 ]
},
// ???/?? ??
"friends_scroll_panel/stack_panel/header_button": {
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_play_bottom_panel and (not $game_pad))"
},
// ???/?? ??
"version": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"development_version": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"copyright": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"high_ping_popup_content_stack_panel/text_line_2": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"high_ping_popup_content_stack_panel/text_line_1": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"join_by_code_popup_help_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"join_by_code_popup_header_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"server_scroll_content/feature_server_message_panel/feature_server_message_panel/label_panel_layout/label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"friends_scroll_panel/stack_panel/joinable_realms_panel/placeholder_loading_friends_panel/loading_friends_realms_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"world_list_label_with_color_panel/list_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"world_list_label_panel/list_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"loading_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"light_loading_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"light_centered_loading_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"game_tip_item_panel/label_panel/realms_warning_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"notification_button_label_panel/notification_button_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"common_button_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"legacy_world_content_status_area_panel/world_storage_content_panel/world_storage_information/legacy_world_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"news_section_panel/read_more_panel/text_stack_panel/news_title_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"news_section_panel/news_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"news_text_panel/contents_news": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"games_section_panel/description_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"games_factory_object/games_factory_panel/bottom_panel/bottom_panel": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"games_factory_object/games_factory_panel/top_panel/game_title_panel/game_subtitle": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"games_factory_object/games_factory_panel/top_panel/game_title_panel/game_title": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"description_section_panel/description_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"description_text_panel/contents_description": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"screenshots_section_panel/screenshots_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"text_icon_number_panel/stack_panel/number": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"text_icon_number_panel/text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"add_server_info_panel/server_info_stack_panel/add_server_description": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"add_server_info_panel/server_info_stack_panel/add_server_title": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"ping_rate_panel/concurrency_stack/player_count": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"more_servers_label_panel/list_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"blocked_multiplayer_privileges_panel/background/label_panel_layout/label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"information_panel/background/label_panel_layout/label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"label_content_template/label_panel/label_panel_layout/label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"network_world_type_icon": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"unread_story_count_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"realms_list_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"realms_sign_in_prompt_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"collection_world_screenshot/screenshot_picture/gradient_container_stacked_panel/solid_image_realmsplus_expired/exclamationmark": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"worlds_stack_panel/realms_multiplayer_blocked_panel/open_uri_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"worlds_stack_panel/realms_multiplayer_blocked_panel/open_account_setting_button_gamecore": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"worlds_stack_panel/padding_0": {
// 가로/세로 크기
"size": [ "100%", 1 ]
},
// ???/?? ??
"worlds_stack_panel/realms_panel/padding_1": {
// 가로/세로 크기
"size": [ "100%", 1 ]
},
// ???/?? ??
"label_background": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha"
},
// ???/?? ??
"dark_label_background": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha"
},
// ???/?? ??
"worlds_stack_panel/realms_panel/placeholder_personal_realms_panel/loading_friends_realms_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color"
},
// ???/?? ??
"worlds_stack_panel/realms_panel/realms_nintendo_first_realm_purchase_panel": {
},
// ???/?? ??
"worlds_stack_panel/realms_panel/realms_trial_panel": {
},
// ???/?? ??
"common_scrolling_panel": {
// 오버라이드 가능한 변수
"$scrolling_pane_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 0, 0 ]
},
// ???/?? ??
"realms_world_item/leave_realm_panel/leave_friends_realm_button": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"realms_world_item/leave_realm_panel": {
// 가로/세로 크기
"size": [ "100%c + 1px", "100% + 1px" ],
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "leave_friends_realm_button",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"leave_friends_realm_button2@common_buttons.dark_content_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_realms_world_item_remove",
// 오버라이드 가능한 변수
"$button_content": "play.realms_remove_icon",
// 오버라이드 가능한 변수
"$button_tts_header": "accessibility.play.leaveRealm",
// 가로/세로 크기
"size": [ "100%y - 1px", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$realms_worlds_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#cross_platform_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled"
}
]
}
}
]
}
]
},
// ???/?? ??
"realms_world_item": {
// 가로/세로 크기
"size": [ "100%", 29 ]
},
// ???/?? ??
"realms_world_item/feed_panel_with_unread_count/feed_panel/realms_feed_button": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"realms_world_item/feed_panel_with_unread_count": {
// 가로/세로 크기
"size": [ "100%y + 1px", "100%" ],
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_feed_button2@common_buttons.dark_content_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_realms_feed",
// 오버라이드 가능한 변수
"$button_content": "play.realms_feed_button_content",
// 오버라이드 가능한 변수
"$button_tts_header": "#realms_feed_button_tts_header",
// 가로/세로 크기
"size": [ "100%y - 1px", "100% + 1px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$realms_worlds_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#menu_realms_feed_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
},
{
// 가져올 값 이름
"binding_name": "#menu_realms_feed_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled",
// 목록 이름
"binding_collection_name": "$realms_worlds_collection_name",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 가져올 값 이름
"binding_name": "#realms_feed_button_tts_header",
// 목록 이름
"binding_collection_name": "$realms_worlds_collection_name",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 가져올 값 이름
"binding_name": "#cross_platform_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled"
}
]
}
}
]
}
]
},
// ???/?? ??
"realms_world_item/edit_panel": {
// 가로/세로 크기
"size": [ "100%y", "100% + 1px" ],
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "realms_world_edit_button",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_world_edit_button2@common_buttons.dark_content_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_realms_world_item_edit",
// 오버라이드 가능한 변수
"$button_content": "play.realms_slots_edit_icon",
// 오버라이드 가능한 변수
"$button_tts_header": "accessibility.play.editRealm",
// 가로/세로 크기
"size": [ "100%y - 1px", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$realms_worlds_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#cross_platform_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled"
}
]
}
}
]
}
]
},
// ???/?? ??
"realms_world_item/edit_panel/realms_world_edit_button": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"realms_world_item/realms_button_panel/realms_world_item_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ]
},
// ???/?? ??
"create_on_realms_button_panel/create_on_realms_button": {
},
// ???/?? ??
"worlds_stack_panel/realms_panel/realms_label": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"sign_in_realms_image": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"worlds_stack_panel/realms_panel/sign_in_to_view_realms_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ]
},
// ???/?? ??
"worlds_stack_panel/realms_panel": {
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "realms_label",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"realms_title@rainbowpieui_play.list_title": {
// 완전히 제거(공간도 없음)
"ignored": "$world_picker_screen",
// 오버라이드 가능한 변수
"$rainbowpie_localui_list_title_text": "$tts_section_header",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#realm_label_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
]
},
// ???/?? ??
"worlds_stack_panel/worlds_label": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"worlds_stack_panel": {
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "worlds_label",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"worlds_title@rainbowpieui_play.list_title": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_list_title_text": "playscreen.worlds",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($pre_release and not $is_editor_mode_enabled)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_list_title_text": "playscreen.beta_worlds"
},
{
// 이 조건이 맞으면 적용
"requires": "$is_editor_mode_enabled",
// 오버라이드 가능한 변수
"$rainbowpie_localui_list_title_text": "playscreen.editor.worlds"
}
]
}
}
]
}
]
},
// ???/?? ??
"world_list_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"local_world_text_panel/text_indent": {
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 가로/세로 크기
"size": [ "100% - 6px", "100% - 6px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle"
},
// ???/?? ??
"world_screenshot_base": {
// 사용할 이미지 경로
"texture": ""
},
// ???/?? ??
"local_world_item": {
// 가로/세로 크기
"size": [ "100%", 30 ]
},
// ???/?? ??
"local_world_item/header_button_panel": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$secondary_header_button": "rainbowpieui_play.cloud_upload_and_edit_world_stack_panel"
},
// ???/?? ??
"worlds_stack_panel/header_button/buttons": {
// 오버라이드 가능한 변수
"$primary_header_button": "rainbowpieui_play.create_new_world_button_panel",
// 오버라이드 가능한 변수
"$secondary_header_button": "rainbowpieui_play.quick_play_button_panel",
// 오버라이드 가능한 변수
"$ternary_header_button": "rainbowpieui_play.import_world_button"
},
// ???/?? ??
"header_button_panel/buttons/primary_panel/primary": {
// 가로/세로 크기
"size": [ "100%", "100%" ]
},
// ???/?? ??
"header_button_panel/buttons": {
// 가로/세로 크기
"size": [ "100%", "100%" ]
},
// ???/?? ??
"header_button_panel_opt_in/buttons/primary_panel/primary": {
// 가로/세로 크기
"size": [ "100%", "100%" ]
},
// ???/?? ??
"header_button_panel_opt_in/buttons": {
// 가로/세로 크기
"size": [ "100%", "100%" ]
},
// ???/?? ??
"worlds_stack_panel/header_button": {
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 완전히 제거(공간도 없음)
"ignored": "(($rainbowpie_ui_flag_play_bottom_panel and (not $game_pad)) or $local_world_upload)"
},
// ???/?? ??
"sign_in_to_view_realms_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"realms_world_item_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"network_world_item_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"local_world_item_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_content_size": [ "100% - 1px", "100% - 2px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"legacy_world_item_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"beta_retail_world_item_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"worlds_stack_panel/realms_panel/realms_trial_panel/realms_world_item_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"worlds_stack_panel/realms_panel/realms_nintendo_first_realm_purchase_panel/realms_world_item_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"quick_play_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"create_new_world_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"sync_legacy_worlds_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"open_account_setting_button_gamecore": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"no_local_worlds_launch_help": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"join_by_code_popup_join_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"high_ping_popup_join_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"high_ping_popup_cancel_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"add_friend_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"join_by_code_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: pocket_containers.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "pocket_containers",
// ???/?? ??
"inventory_panel/scrolling_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scroll_background_image_control": "rainbowpie_ui_common.container_scroll_background_image",
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"generic_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"panel/header": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"panel/bg": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header_pocket": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_inventory_title": "chestScreen.header.player",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_container_title": "$container_title"
}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: popup_dialog.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "popup_dialog",
// ???/?? ??
"modal_label_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scrolling_pane_size": [ "100% - 1px", "100%" ]
},
// ???/?? ??
"modal_dialog_popup/modal_input/modal_bg_buttons": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_6bb756a3",
// 겹치는 순서(숫자 클수록 위)
"layer": 100
},
// ???/?? ??
"modal_label_text/text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_content_color"
},
// ???/?? ??
"modal_dialog_with_buttons": {
// 가로/세로 크기
"size": [ 200, 120 ],
// 오버라이드 가능한 변수
"$button": "common.empty_panel",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$three_buttons_visible",
// 오버라이드 가능한 변수
"$button": "rainbowpie_popup_dialog.three_buttons_panel"
},
{
// 이 조건이 맞으면 적용
"requires": "$destructive_three_buttons_visible",
// 오버라이드 가능한 변수
"$button": "rainbowpie_popup_dialog.three_buttons_panel"
},
{
// 이 조건이 맞으면 적용
"requires": "$two_buttons_visible",
// 오버라이드 가능한 변수
"$button": "rainbowpie_popup_dialog.two_buttons_panel"
},
{
// 이 조건이 맞으면 적용
"requires": "$destructive_two_buttons_visible",
// 오버라이드 가능한 변수
"$button": "rainbowpie_popup_dialog.two_buttons_panel"
},
{
// 이 조건이 맞으면 적용
"requires": "$single_button_visible",
// 오버라이드 가능한 변수
"$button": "rainbowpie_popup_dialog.single_button_panel"
},
{
// 이 조건이 맞으면 적용
"requires": "$no_buttons_visible",
// 오버라이드 가능한 변수
"$button": "rainbowpie_popup_dialog.no_button_panel"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"popup_dialog_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 50,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_dialog_background_alpha",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"title_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 가로/세로 크기
"size": [ "100% - 8px", 18 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_text@popup_dialog.modal_title_text": {
// 기준점에서 이동하는 거리
"offset": [ 0, 1 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// ?? ??
"text_alignment": "center",
// 가로/세로 크기
"size": [ "100% - 30px", "default" ],
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_title_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"title_text_default@popup_dialog.modal_title_text": {
// 기준점에서 이동하는 거리
"offset": [ 0, 1 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// ?? ??
"text_alignment": "center",
// 가로/세로 크기
"size": [ "100% - 30px", "default" ],
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_title_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 보여줄 글자
"text": "rainbowpie.ui.dialog.title_default",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$visibility_source_control_name",
// 계산식/참조 값
"source_property_name": "(#modal_title_text = '')",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"close_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 15, 15 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 1 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#close_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@rainbowpie_ui_common.close_button": {
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 오버라이드 가능한 변수
"$close_button_to_button_id": "$popup_dialog_escape_button_name"
}
}
]
}
}
]
}
},
{
// ???/?? ??
"content_panel": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 44px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 18 ],
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_content_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_dialog_content_background_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"text@popup_dialog.modal_label_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scrolling_pane_size": [ "100% - 1px", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 가로/세로 크기
"size": [ "100%", "100%" ]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"button@$button": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 가로/세로 크기
"size": [ "100% - 7px", 22 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -3.5 ]
}
}
]
}
}
]
},
// ???/?? ??
"modal_dialog_popup/modal_input": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_dialog@rainbowpie_popup_dialog.modal_dialog_with_buttons": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_6bb756a3)",
// 오버라이드 가능한 변수
"$visibility_source_control_name|default": "rainbowpie_dialog",
// 겹치는 순서(숫자 클수록 위)
"layer": 100
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background2@rainbowpie_popup_dialog.background_panel_design2": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_6bb756a3)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background@rainbowpie_popup_dialog.background_panel": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_6bb756a3"
}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: profile_card.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "profile_card",
// ???/?? ??
"dialog_content_with_skin/skin_pane/paper_doll_panel/paper_doll": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "skin_pane",
// 계산식/참조 값
"source_property_name": "#gesture_delta_source",
// 결과가 들어갈 속성
"target_property_name": "#gesture_delta_source"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "skin_pane",
// 계산식/참조 값
"source_property_name": "#gesture_mouse_delta_x",
// 결과가 들어갈 속성
"target_property_name": "#gesture_mouse_delta_x"
},
{
// 가져올 값 이름
"binding_name": "#player_uuid"
}
]
},
// ???/?? ??
"xbl_dialog_scrolling_content/add_friend_button": {
// 가로/세로 크기
"size": [ "100%", 27 ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 2px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"toggle_option": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_enabled": true
},
// ???/?? ??
"xbl_dialog_scrolling_content/report_button": {
// 가로/세로 크기
"size": [ "100%", 27 ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 2px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"xbl_dialog_scrolling_content/dropdown_visibility_panel/friends_dropdown": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_rainbowpiebutton_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"friend@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#friend_option",
// 오버라이드 가능한 변수
"$radio_label_text": "xbox.profile.friend"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"favorite@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#favorite_option",
// 오버라이드 가능한 변수
"$radio_label_text": "xbox.profile.favorite"
}
}
]
},
// ???/?? ??
"xbl_dialog_scrolling_content/remove_friend_button": {
// 가로/세로 크기
"size": [ "100%", 27 ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 2px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 완전히 제거(공간도 없음)
"ignored": "$is_current_profile"
},
// ???/?? ??
"player_gamer_pic/player_panel_black_border": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"player_gamer_pic": {
// 가로/세로 크기
"size": [ 34, 34 ]
},
// ???/?? ??
"unfriend_button_panel/text_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"report_button_content/report_label/report_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"toggle_option/label_panel/toggle_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"xbl_dialog_scrolling_content/real_name_message": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"xbl_dialog_scrolling_content/title_presence_info": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"platform_dialog_scrolling_content/title_presence_info": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"platform_info/platform_labels/platform_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"profile_labels/gamertag_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"gamer_score_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"x_radio_visuals/label_panel/radio_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"profile_card_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_blur": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "profile_card",
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_profile_card.profile_card_screen_content"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: profile_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "profile",
// ???/?? ??
"popup_dialog__delete_persona": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dialog_panel@rainbowpie_ui_dialog.dialog_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 가로/세로 크기
"size": [ 204, 132 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialogheader_title": "dr.modal.persona_delete_confirm_title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_content": "rainbowpieui_profile.delete_persona_dialog_content",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_show_background": false,
// 오버라이드 가능한 변수
"$close_button_to_button_id": "button.close_dialog"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background2@rainbowpieui_profile.background_panel_design2": {
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}
}
]
},
// ???/?? ??
"lower_button_label_section/persona_label": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_05aab186"
},
// ???/?? ??
"lower_button_section/differences_info_button": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_05aab186"
},
// ???/?? ??
"edit_appearance_preset_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"delete_appearance_preset_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"preset_arrow_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"skin_retry_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"edit_appearance_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"delete_appearance_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"differences_information_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"settings_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"differences_popup_ok_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"select_default_character_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"skin_model_renderer": {
"camera_tilt_degrees": 0,
"starting_rotation": 0
},
// ???/?? ??
"profile_screen_main_content/featured_section": {
// 완전히 제거(공간도 없음)
"ignored": "($store_disabled or $rainbowpie_ui_flag_05aab186)"
},
// ???/?? ??
"profile_screen_main_content/featured_section_disabled_padding": {
// 완전히 제거(공간도 없음)
"ignored": "((not $store_disabled) or $rainbowpie_ui_flag_05aab186)"
},
// ???/?? ??
"profile_screen_background_content": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"profile_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "profile",
// "$rainbowpie_localui_screenbackground_blur": true,
"$screen_bg_content": "common.empty_panel"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: progress_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "progress",
// ???/?? ??
"overworld_loading_progress_screen": {
// 오버라이드 가능한 변수
"$use_loading_bars": false,
"render_only_when_topmost": false,
// 오버라이드 가능한 변수
"$is_showing_menu": false,
// 오버라이드 가능한 변수
"$force_render_below": false,
"is_showing_menu": "$is_showing_menu",
"force_render_below": "$force_render_below",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_31e1a20e",
// 오버라이드 가능한 변수
"$is_showing_menu": false,
// 오버라이드 가능한 변수
"$force_render_below": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_feature_background_blur": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_ingame": false
}
]
},
// ???/?? ??
"nether_loading_progress_screen": {
// 오버라이드 가능한 변수
"$use_loading_bars": false,
"render_only_when_topmost": false,
// 오버라이드 가능한 변수
"$is_showing_menu": false,
// 오버라이드 가능한 변수
"$force_render_below": false,
"is_showing_menu": "$is_showing_menu",
"force_render_below": "$force_render_below",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_31e1a20e",
// 오버라이드 가능한 변수
"$is_showing_menu": false,
// 오버라이드 가능한 변수
"$force_render_below": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_feature_background_blur": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_ingame": false
}
]
},
// ???/?? ??
"theend_loading_progress_screen": {
// 오버라이드 가능한 변수
"$use_loading_bars": false,
"render_only_when_topmost": false,
// 오버라이드 가능한 변수
"$is_showing_menu": false,
// 오버라이드 가능한 변수
"$force_render_below": false,
"is_showing_menu": "$is_showing_menu",
"force_render_below": "$force_render_below",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_31e1a20e",
// 오버라이드 가능한 변수
"$is_showing_menu": false,
// 오버라이드 가능한 변수
"$force_render_below": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_feature_background_blur": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_ingame": false
}
]
},
// ???/?? ??
"realms_stories_enabled_loading_progress_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_ingame": true,
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_progress.world_loading_progress_screen"
},
// ???/?? ??
"world_convert_modal_progress_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_ingame": true,
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_progress.world_loading_progress_screen"
},
// ???/?? ??
"simple_popup_dialog_base": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
"max_size": [ "100%", "100%" ],
"min_size": [ "100%", "100%" ],
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpieui_progress_dialog@rainbowpieui_progress.simple_popup_dialog_base": {}
}
]
},
{
// ?? ?? ??
"array_name": "button_mappings",
// ?? ??
"operation": "replace",
// ???/?? ??
"where": {
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "modal.escape",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
// ??? ?
"value": {
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.leave",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
}
]
},
// ???/?? ??
"simple_popup_dialog_base/dialog_background_hollow_3": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"modal_progress_screen": {
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_progress.modal_screen_content"
},
// ???/?? ??
"progress_screen_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"modal_progress_panel_with_cancel/common_panel": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"progress_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "progress",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_ingamebg_ignored": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_ignored": "$force_render_below",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_override_ignored": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_background_bsf_need": "(not $force_render_below)"
},
// ???/?? ??
"mobile_data_icon_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"cancel_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"retry_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"abort_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"world_loading_progress_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_ingame": true,
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_progress.world_loading_progress_screen"
},
// ???/?? ??
"world_saving_progress_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_background_animations": [
"@common.screen_exit_animation_push_fade",
"@common.screen_exit_animation_pop_fade"
],
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_ingame": true,
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_progress.world_saving_progress_screen",
// 조건에 따라 변수 값을 바꾸기
"variables": []
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: realms_pending_invitations.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "realms_pending_invitations",
// ???/?? ??
"banner_panel": {
// 오버라이드 가능한 변수
"$banner_image": "rainbowpieui_realms_pending_invitations.dark_banner"
},
// ???/?? ??
"banner_panel_hover": {
// 오버라이드 가능한 변수
"$banner_image": "rainbowpieui_realms_pending_invitations.dark_banner_hover"
},
// ???/?? ??
"panel_text": {
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color",
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"realms_pending_invitations_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "realms_pending_invitations",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_blur": true,
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_realms_pending_invitations.realms_invitation_screen_content"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: realms_plus_ended_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "realms_plus_ended",
// ???/?? ??
"main_content_panel/main_content_stack_panel/text_panel/text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"subscription_ended_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "realms_plus_ended",
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_realms_plus_ended.subscription_ended_screen_content"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: realmsplus_upgrade_notice_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "realmsplus_upgrade_notice_screen",
// ???/?? ??
"content/wall_of_text/the_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"content/buttons_row": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "realmsplus_upgrade_notice_screen",
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_realmsplus_upgrade_notice_screen.main_content"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: redstone_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "redstone",
// ???/?? ??
"panel_crafter": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"crafter_root_panel@rainbowpieui_redstone.crafter_root_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_84df7492)"
}
}
]
}
]
},
// ???/?? ??
"panel_crafter/root_panel": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_84df7492"
},
// ???/?? ??
"item_dropper_label": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"redstone_panel_top_half": {
// 기준점에서 이동하는 거리
"offset": [ 0, 19 ]
},
// ???/?? ??
"panel": {
// 오버라이드 가능한 변수
"$container_type|default": "null",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"redstone_root_panel@rainbowpieui_redstone.redstone_root_panel": {
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_84df7492) or ($container_type = 'hopper'))"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hopper_root_panel@rainbowpieui_redstone.hopper_root_panel": {
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_84df7492) or (not ($container_type = 'hopper')))"
}
}
]
}
]
},
// ???/?? ??
"panel/root_panel": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_84df7492"
},
// ???/?? ??
"panel/root_panel/common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 28px" ]
},
// ???/?? ??
"panel/root_panel/redstone_screen_inventory": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "$container_title"
}
}
]
}
]
},
// ???/?? ??
"hopper_screen": {
// 오버라이드 가능한 변수
"$container_type": "hopper"
},
// ???/?? ??
"dropper_screen": {
// 오버라이드 가능한 변수
"$container_type": "dropper"
},
// ???/?? ??
"dispenser_screen": {
// 오버라이드 가능한 변수
"$container_type": "dispenser"
},
// ???/?? ??
"crafter_screen": {
// 오버라이드 가능한 변수
"$container_type": "crafter"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: resource_packs_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "resource_packs",
// ???/?? ??
"panel_bg/black_background": {
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// ???
"alpha": 0.5
},
// ???/?? ??
"panel_bg/gray": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"selected_stack_panel/offset_3": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_840d1a5c"
},
// ???/?? ??
"selected_stack_panel/realms_packs_title_button": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_840d1a5c"
},
// ???/?? ??
"selected_stack_panel/realms_packs_section": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_840d1a5c"
},
// ???/?? ??
"selected_stack_panel/offset_4": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_840d1a5c"
},
// ???/?? ??
"selected_stack_panel/unowned_packs_title_button": {
// 완전히 제거(공간도 없음)
"ignored": "($education_edition or $rainbowpie_ui_flag_840d1a5c)"
},
// ???/?? ??
"selected_stack_panel/unowned_packs_section": {
// 완전히 제거(공간도 없음)
"ignored": "($education_edition or $rainbowpie_ui_flag_840d1a5c)"
},
// ???/?? ??
"selected_pack_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_search_box_control|default": "rp_search_text_box_display_text",
// 보이기/숨기기(공간 유지)
"visible": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#name",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$button_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #name - '§0' - '§1' - '§2' - '§3' - '§4' - '§5' - '§6' - '§7' - '§8' - '§9' - '§a' - '§b' - '§c' - '§d' - '§e' - '§f' - '§g' - '§h' - '§i' - '§j' - '§k' - '§l' - '§m' - '§n' - '§o' - '§p' - '§q' - '§r' - '§s' - '§t' - '§u' - '§v' - '§w' - '§x' - '§y' - '§z' + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#formatted_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$rainbowpie_localui_resource_packs_search_box_control",
// 계산식/참조 값
"source_property_name": "#item_name",
// 결과가 들어갈 속성
"target_property_name": "#output_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not ((#formatted_name - #output_text) = #formatted_name)) or (#output_text = ''))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"available_pack_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_search_box_control|default": "rp_search_text_box_display_text",
// 보이기/숨기기(공간 유지)
"visible": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#name",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$button_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #name - '§0' - '§1' - '§2' - '§3' - '§4' - '§5' - '§6' - '§7' - '§8' - '§9' - '§a' - '§b' - '§c' - '§d' - '§e' - '§f' - '§g' - '§h' - '§i' - '§j' - '§k' - '§l' - '§m' - '§n' - '§o' - '§p' - '§q' - '§r' - '§s' - '§t' - '§u' - '§v' - '§w' - '§x' - '§y' - '§z' + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#formatted_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$rainbowpie_localui_resource_packs_search_box_control",
// 계산식/참조 값
"source_property_name": "#item_name",
// 결과가 들어갈 속성
"target_property_name": "#output_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not ((#formatted_name - #output_text) = #formatted_name)) or (#output_text = ''))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"selected_stack_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_type|default": "null",
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "top_panel",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_resource_packs_screen@rainbowpieui_resource_packs.resource_packs_screen": {}
}
]
}
]
},
// ???/?? ??
"selected_stack_panel/world_template_option_lock_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(($rainbowpie_ui_flag_54edd49d and (not ($rainbowpie_localui_resource_packs_type = 'null'))) or (not $is_world_create and not $is_template_create and not $is_world_edit))",
// 가로/세로 크기
"size": [ "100%", "100%c" ]
},
// ???/?? ??
"selected_stack_panel/top_panel": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_54edd49d and (not ($rainbowpie_localui_resource_packs_type = 'null')))",
// 가로/세로 크기
"size": [ "100%", 25 ]
},
// ???/?? ??
"selected_stack_panel/offset_0": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_54edd49d and (not ($rainbowpie_localui_resource_packs_type = 'null')))"
},
// ???/?? ??
"selected_stack_panel/selected_packs_title_panel": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_54edd49d and (not ($rainbowpie_localui_resource_packs_type = 'null')))"
},
// ???/?? ??
"selected_stack_panel/selected_pack_section": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_54edd49d and (not ($rainbowpie_localui_resource_packs_type = 'null')))"
},
// ???/?? ??
"selected_stack_panel/offset_1": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_54edd49d and (not ($rainbowpie_localui_resource_packs_type = 'null')))"
},
// ???/?? ??
"selected_stack_panel/available_packs_title_panel": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_54edd49d and (not ($rainbowpie_localui_resource_packs_type = 'null')))"
},
// ???/?? ??
"selected_stack_panel/available_packs_section": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_54edd49d and (not ($rainbowpie_localui_resource_packs_type = 'null')))"
},
// ???/?? ??
"resource_packs_toggle_button_control": {
// 오버라이드 가능한 변수
"$icon_theme_dir|default": "($rainbowpie_ui_path_theme + '/icon/settings')",
// 오버라이드 가능한 변수
"$icon_size|default": [ 15, 15 ],
// 오버라이드 가능한 변수
"$icon_texture_name|default": "null",
// 오버라이드 가능한 변수
"$icon_group_name|default": "null",
// 오버라이드 가능한 변수
"$icon_offset|default": [ 5, 0 ],
// 오버라이드 가능한 변수
"$icon_anchor_from|default": "left_middle",
// 오버라이드 가능한 변수
"$icon_anchor_to|default": "left_middle",
// 오버라이드 가능한 변수
"$state_collection_name|default": "null",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// ???/?? ??
"section_icon": {
// 이미지 표시
"type": "image",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_feature_settings_themedIcon)",
// 기준점(어디에서 시작할지)
"anchor_from": "$icon_anchor_from",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$icon_anchor_to",
// 기준점에서 이동하는 거리
"offset": "$icon_offset",
// 사용할 이미지 경로
"texture": "($icon_theme_dir + '/' + $icon_group_name + '/' + $icon_texture_name)",
// 가로/세로 크기
"size": "$icon_size",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// ?? (R,G,B,A)
"color": "$text_color",
// ???
"alpha": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"tooltip_image_wrapper@resource_packs.tooltip_image_wrapper": {
// 완전히 제거(공간도 없음)
"ignored": "($state_collection_name = 'null')",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 오버라이드 가능한 변수
"$button_collection_name": "$state_collection_name"
}
}
]
}
]
},
// ???/?? ??
"resource_packs_toggle_button_control/icon_border": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_feature_settings_themedIcon"
},
// ???/?? ??
"resource_packs_toggle_button_control/cycling_icon": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_feature_settings_themedIcon"
},
// ???/?? ??
"resource_packs_toggle_button_control/tab_button_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_localui_this_offset",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_offset": [ 34, 0 ],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_feature_settings_themedIcon",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_offset": [ 28, 0 ]
}
]
},
// ???/?? ??
"resource_packs_section_toggle_base": {
// 오버라이드 가능한 변수
"$icon_texture_name": "global_texture",
// 오버라이드 가능한 변수
"$icon_group_name": "general",
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_hover",
// 가로/세로 크기
"size": [ "100%", "25px" ]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: safe_zone_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "safe_zone",
// ???/?? ??
"instructions_text/inner_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"safe_zone_screen/main_content_panel": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"safe_zone_screen": {
// 오버라이드 가능한 변수
"$is_publish": false,
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{ "background_panel@rainbowpieui_safe_zone.background_panel": {} },
{ "dialog_panel@rainbowpieui_safe_zone.dialog_panel": {} }
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: scoreboards.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "scoreboard",
// ???/?? ??
"scoreboard_sidebar": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "variables",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_scoreboard_default_font",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_global_font_name": "default",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_global_font_backup_name": "default"
}
]
}
]
},
// ???/?? ??
"player_icon_panel/player_icon": {
// 가로/세로 크기
"size": [ "80% + 4px", "80% + 4px" ]
},
// ???/?? ??
"player_icon_panel/player_icon/player_panel_black_border": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"player_score": {
"shadow": false,
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"player_name": {
"shadow": false,
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"list_objective_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"scoreboard_sidebar/main/displayed_objective": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"scoreboard_sidebar_player": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"scoreboard_sidebar_score": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"player_rank_panel/player_rank_bg/player_rank": {
// 기준점에서 이동하는 거리
"offset": [ 0, -1 ],
// ?? ?? ??
"font_scale_factor": 1.2,
// ??
"font_type": "MinecraftTen",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color"
},
// ???/?? ??
"player_rank_panel/player_rank_bg": {
// 가로/세로 크기
"size": [ "100%y", "100% - 1px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha"
},
// ???/?? ??
"player_panel/rank_base": {
// 가로/세로 크기
"size": [ "100%y", "100%" ]
},
// ???/?? ??
"base_player_button": {
// 가로/세로 크기
"size": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: screenshot_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "screenshot",
// ???/?? ??
"screenshot_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "screenshot",
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_screenshot.screenshot_screen_content",
// 오버라이드 가능한 변수
"$use_loading_bars": false,
"force_render_below": true,
"is_showing_menu": false,
"should_steal_mouse": true,
"absorbs_input": true
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: server_form.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "server_form",
// 다른 템플릿을 가져와서 확장(상속)
"long_form@rainbowpieui_server_form.long_form": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_backup_screen": false
},
// 다른 템플릿을 가져와서 확장(상속)
"custom_form@rainbowpieui_server_form.custom_form": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_backup_screen": false
},
// ???/?? ??
"third_party_server_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "server_form",
// 오버라이드 가능한 변수
"$rainbowpie_localui_backup_screen": true,
"force_render_below": true,
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_server_form.main_screen_content",
// 오버라이드 가능한 변수
"$rainbowpie_localui_backup_screen_content": "rainbowpieui_server_form.main_screen_content"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: settings_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "settings",
// ???/?? ??
"selector_stack_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// ???/?? ??
"xbox_live_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $include_controls_and_settings_sections or not $is_xboxlive_enabled or not $rainbowpie_ui_flag_settings_account_panel)",
// 가로/세로 크기
"size": [ "100%", 50 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"gamerpic": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "profile_image_renderer",
// ???
"alpha": 2.0,
// 가로/세로 크기
"size": [ 48, 48 ],
// 기준점에서 이동하는 거리
"offset": [ 1, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#profile_image_options"
}
]
}
},
{
// ???/?? ??
"alex_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/icon_alex",
// 가로/세로 크기
"size": [ 48, 48 ],
// 기준점에서 이동하는 거리
"offset": [ 1, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"gamertag_label@rainbowpie_ui_common.text_label": {
// 기준점에서 이동하는 거리
"offset": [ 51, 6 ],
// 가로/세로 크기
"size": [ "100% - 51px", 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 보여줄 글자
"text": "#gamertag_label",
// ?? ?? ??
"font_scale_factor": 1.5,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#gamertag_label"
},
{
// 가져올 값 이름
"binding_name": "#logged_in",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"manage_account_button@settings_common.action_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 완전히 제거(공간도 없음)
"ignored": "($is_ios or $is_android)",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 오버라이드 가능한 변수
"$pressed_button_name": "manage_account_button",
// 오버라이드 가능한 변수
"$button_text": "options.manageAccount",
// 가로/세로 크기
"size": [ "100% - 50px", 23 ],
// 기준점에서 이동하는 거리
"offset": [ 49.5, 26.5 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#logged_in",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"sign_out_action_button@settings_common.action_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 완전히 제거(공간도 없음)
"ignored": "(not $is_ios and not $is_android)",
// ??/???
"enabled": "$is_pregame",
// 오버라이드 가능한 변수
"$pressed_button_name": "sign_out_button",
// 오버라이드 가능한 변수
"$button_text": "xbox.signOutLong",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": [ "100% - 50px", 23 ],
// 기준점에서 이동하는 거리
"offset": [ 49.5, 26.5 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#logged_in",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"gamertag_label_offline@rainbowpie_ui_common.text_label": {
// 기준점에서 이동하는 거리
"offset": [ 51, 6 ],
// 가로/세로 크기
"size": [ "100% - 51px", 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 보여줄 글자
"text": "#player_name",
// ?? ?? ??
"font_scale_factor": 1.5,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#player_name"
},
{
// 가져올 값 이름
"binding_name": "#not_logged_in",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"sign_in_action_button@settings_common.action_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100% - 1px", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// ??/???
"enabled": "$is_pregame",
// 오버라이드 가능한 변수
"$pressed_button_name": "sign_in_button",
// 오버라이드 가능한 변수
"$button_text": "xbox.signin",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": [ "100% - 50px", 23 ],
// 기준점에서 이동하는 거리
"offset": [ 49.5, 26.5 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#not_logged_in",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"rp_spacer_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $include_controls_and_settings_sections or not $is_xboxlive_enabled or not $rainbowpie_ui_flag_settings_account_panel)",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"perspective_dropdown@settings_common.option_dropdown": {
// 오버라이드 가능한 변수
"$option_generic_panel_size": [ "100%", 25 ],
// 오버라이드 가능한 변수
"$show_option_label": false,
// 오버라이드 가능한 변수
"$option_dropdown_size": [ "100%", 25 ],
// 보이기/숨기기(공간 유지)
"visible": "($include_controls_and_settings_sections and $touch)",
// 완전히 제거(공간도 없음)
"ignored": "($is_holographic and $is_reality_mode or $is_pregame or not $rainbowpie_ui_flag_settings_quick_perspective)",
// 오버라이드 가능한 변수
"$dropdown_content": "general_section.third_person_dropdown_content",
// 오버라이드 가능한 변수
"$dropdown_area": "content_area",
// 오버라이드 가능한 변수
"$dropdown_name": "third_person_dropdown",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#third_person_dropdown_enabled",
// 오버라이드 가능한 변수
"$options_dropdown_toggle_label_binding": "#third_person_dropdown_toggle_label",
// 오버라이드 가능한 변수
"$dropdown_scroll_content_size": [ "100%", "200%" ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_show_button": false,
// 오버라이드 가능한 변수
"$option_dropdown_type": "rainbowpie_ui_common.rainbowpie_ui_dropdown",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_offset": [ 0, 2 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_radio_image": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_radio_image_texture": "($rainbowpie_ui_path_theme + '/icon/settings/firstperson')",
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#thirdperson_radio_first",
// 오버라이드 가능한 변수
"$radio_label_text": "options.thirdperson.firstperson"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_radio_image": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_radio_image_texture": "($rainbowpie_ui_path_theme + '/icon/settings/thirdpersonback')",
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#thirdperson_radio_third_back",
// 오버라이드 가능한 변수
"$radio_label_text": "options.thirdperson.thirdpersonback"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_radio_image": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_radio_image_texture": "($rainbowpie_ui_path_theme + '/icon/settings/thirdpersonfront')",
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#thirdperson_radio_third_front",
// 오버라이드 가능한 변수
"$radio_label_text": "options.thirdperson.thirdpersonfront"
}
}
]
}
},
{
// ???/?? ??
"rp_spacer_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 보이기/숨기기(공간 유지)
"visible": "($include_controls_and_settings_sections and $touch)",
// 완전히 제거(공간도 없음)
"ignored": "($is_holographic and $is_reality_mode or $is_pregame or not $rainbowpie_ui_flag_settings_quick_perspective)",
// 가로/세로 크기
"size": [ 1, 1 ]
}
}
]
}
]
},
// ???/?? ??
"selector_stack_panel/controls_and_settings_selector_pane": {
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "video_button",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"graphics_button@rainbowpieui_general_section.graphics_button": {
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 3504
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"raytracing_button@rainbowpieui_general_section.raytracing_button": {
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 3503
}
}
]
},
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// ???/?? ??
"rainbowpie_spacer_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpie_selector_group_label_1@settings_common.selector_group_label": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_feature_markbest)",
// 보여줄 글자
"text": "rainbowpie.ui.global.title"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"uitest_button@rainbowpieui_general_section.uitest_button": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_debug)",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 3201
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"theme_button@rainbowpieui_general_section.theme_button": {
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 3501
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"module_button@rainbowpieui_general_section.module_button": {
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 3502
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"about_button@rainbowpieui_general_section.about_button": {
// 오버라이드 가능한 변수
"$toggle_group_forced_index": 3503
}
}
]
}
]
},
// ???/?? ??
"section_content_panels/general_and_controls_sections": {
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "video_section",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"graphics_section@rainbowpieui_general_section.graphics_section": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"raytracing_section@rainbowpieui_general_section.raytracing_section": {}
}
]
},
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{ "uitest_tab_section@rainbowpieui_general_section.uitest_tab_section": { "ignored": "(not $rainbowpie_ui_debug)", "visible": false } },
{ "theme_section@rainbowpieui_general_section.theme_section": { "visible": false } },
{ "module_section@rainbowpieui_general_section.module_section": { "visible": false } },
{ "about_section@rainbowpieui_general_section.about_section": { "visible": false } }
]
}
]
},
// ???/?? ??
"section_header_panels/general_and_controls_sections": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{ "global_texture_pack_header@rainbowpieui_general_section.global_texture_pack_header": { "visible": false } }
]
}
]
},
// ???/?? ??
"section_header_panels/world_sections": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{ "level_texture_pack_header@rainbowpieui_world_section.level_texture_pack_header": { "visible": false } },
{ "addon_header@rainbowpieui_world_section.addon_header": { "visible": false } }
]
}
]
},
// ???/?? ??
"section_content_panels/general_and_controls_sections/language_section": {
// 완전히 제거(공간도 없음)
"ignored": false
},
// ???/?? ??
"selector_stack_panel/controls_and_settings_selector_pane/language_button": {
// 완전히 제거(공간도 없음)
"ignored": false
},
// ???/?? ??
"selector_stack_panel/controls_and_settings_selector_pane/selector_group_label_2": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_feature_markbest)"
},
// ???/?? ??
"selector_stack_panel/controls_and_settings_selector_pane/spacer_04_no_spatial": {
// 가로/세로 크기
"size": [ 1, 1 ]
},
// ???/?? ??
"selector_stack_panel/controls_and_settings_selector_pane/spacer_05_no_spatial": {
// 가로/세로 크기
"size": [ 1, 1 ]
},
// ???/?? ??
"selector_stack_panel/controls_and_settings_selector_pane/selector_group_label_1": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_feature_markbest)"
},
// ???/?? ??
"selector_stack_panel/controls_and_settings_selector_pane/spacer_1_no_spatial": {
// 가로/세로 크기
"size": [ 1, 1 ]
},
// ???/?? ??
"selector_stack_panel/spacer_0": {
// 완전히 제거(공간도 없음)
"ignored": "((not $include_world_section) or $rainbowpie_ui_feature_markbest)"
},
// ???/?? ??
"selector_stack_panel/controls_and_settings_selector_pane/selector_group_label_3": {
// 가로/세로 크기
"size": [ 1, 1 ],
// 완전히 제거(공간도 없음)
"ignored": "($is_publish or $rainbowpie_ui_feature_markbest)"
},
// ???/?? ??
"selector_stack_panel/controls_and_settings_selector_pane/spacer_4_no_spatial": {
// 가로/세로 크기
"size": [ 1, 1 ]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: sign_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "sign",
// ???/?? ??
"sign_background": {
// 기준점에서 이동하는 거리
"offset": [ 0, -5 ]
},
// ???/?? ??
"sign_screen_content": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// ???/?? ??
"button_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ 185, 30 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 68 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"done_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_exit",
// 오버라이드 가능한 변수
"$button_text": "gui.done",
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
}
]
}
}
]
}
]
},
// ???/?? ??
"base_sign_text_multiline": {
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "$text_edit_box_selected_to_button_id",
"handle_select": true,
"handle_deselect": false,
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "$text_edit_box_selected_to_button_id",
"handle_select": false,
"handle_deselect": true,
// 입력 시점(pressed 등)
"mapping_type": "global",
"consume_event": false
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "$text_edit_box_selected_to_button_id",
"handle_select": true,
"handle_deselect": false,
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "$text_edit_box_deselected_to_button_id",
"handle_select": false,
"handle_deselect": true,
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 동작을 실행할지
"to_button_id": "$text_edit_box_hovered_button_id",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "$text_edit_box_clear_from_button_id",
// 어떤 동작을 실행할지
"to_button_id": "$text_edit_box_clear_to_button_id",
"handle_select": false,
"handle_deselect": false,
// 입력 시점(pressed 등)
"mapping_type": "focused"
}
]
},
// ???/?? ??
"sign_screen_content/invisible_exit_background": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"sign_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "sign",
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_sign.sign_screen_content",
"force_render_below": true,
"close_on_player_hurt": false
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: smithing_table_2_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "smithing_table_2",
// ???/?? ??
"arrow_icon": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/arrow_large')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"cross_out_icon_image": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/crossout')"
},
// ???/?? ??
"upgrade_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"icon_and_text_panel": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"smithing_table_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"smithing_table_root_panel@rainbowpieui_smithing_table_2.smithing_table_root_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_84df7492)"
}
}
]
}
]
},
// ???/?? ??
"smithing_table_panel/root_panel": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_84df7492"
},
// ???/?? ??
"smithing_table_panel/root_panel/toolbar_anchor": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"smithing_table_panel/root_panel/common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 28px" ]
},
// ???/?? ??
"smithing_table_panel/root_panel/smithing_table_screen_inventory": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "container.smithing_table.upgrade"
}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: smithing_table_2_screen_pocket.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "smithing_table_2_pocket",
// ???/?? ??
"crafting_arrow": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/arrow_inactive')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"cross_out_image": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/crossout')"
},
// ???/?? ??
"right_navigation_tabs/pocket_tab_close_and_help_button": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"right_navigation_tabs/fill": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"right_navigation_tabs/right_tab_smithing_table": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"right_navigation_tabs": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// ???/?? ??
"close_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 33 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_background@rainbowpie_ui_inventory.header_background": {
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "100% - 4px", 33 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@rainbowpie_ui_common.close_button": {
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_closebutton_default_color": "$rainbowpie_ui_theme_inventory_header_title_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
}
}
]
}
}
]
}
]
},
// ???/?? ??
"smithing_table_contents_panel": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"inventory_scroll_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scroll_background_image_control": "rainbowpie_ui_common.container_scroll_background_image",
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"upgrade_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"right_tab_smithing_table": {
// 오버라이드 가능한 변수
"$checked_bar_anchor": "right",
// 오버라이드 가능한 변수
"$tab_panel": "rainbowpie_ui_tab.tab_panel",
// 오버라이드 가능한 변수
"$tab_image_size": [ "100% - 4px", "100%" ],
// 오버라이드 가능한 변수
"$tab_image_anchor": "right_middle",
// 오버라이드 가능한 변수
"$tab_content_size": [ "100% - 4px", "100% - 8px" ],
// 오버라이드 가능한 변수
"$tab_content_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$tab_content_anchor": "right_middle",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_alpha": "$rainbowpie_ui_theme_inventory_header_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_alpha": 0.6
},
// ???/?? ??
"right_panel/content/bg": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background"
},
// ???/?? ??
"left_tab_inventory": {
// 오버라이드 가능한 변수
"$checked_bar_anchor": "left",
// 오버라이드 가능한 변수
"$tab_panel": "rainbowpie_ui_tab.tab_panel",
// 오버라이드 가능한 변수
"$tab_image_size": [ "100% - 4px", "100%" ],
// 오버라이드 가능한 변수
"$tab_image_anchor": "left_middle",
// 오버라이드 가능한 변수
"$tab_content_size": [ "100% - 4px", "100% - 8px" ],
// 오버라이드 가능한 변수
"$tab_content_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$tab_content_anchor": "left_middle",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_alpha": "$rainbowpie_ui_theme_inventory_header_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_alpha": 0.6
},
// ???/?? ??
"left_panel/content/bg": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: start_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "start",
// ???/?? ??
"start_screen": {
// 오버라이드 가능한 변수
"$is_pregame": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_ingame": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_watermark": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "start",
// 오버라이드 가능한 변수
"$rainbowpie_localui_backup_screen": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_backup_screen_content": "rainbowpieui_start.start_screen_content",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "variables",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_flag_8dcce82d)",
// 오버라이드 가능한 변수
"$rainbowpie_ui_localui_watermark_offset": [ 0, -50 ]
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: stonecutter_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "stonecutter",
// ???/?? ??
"arrow_icon": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/arrow_large')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"stone_book_panel/scroll_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scroll_background_image_control": "rainbowpie_ui_common.container_scroll_background_image",
// 가로/세로 크기
"size": [ "100% - 13px", "100% - 11px" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -5 ]
},
// ???/?? ??
"stone_book_panel/bg": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 5px" ]
},
// ???/?? ??
"screen_stack_panel/toolbar_anchor": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"center_fold": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"stonecutter_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"top_half_panel": {
// 기준점에서 이동하는 거리
"offset": [ 0, 25 ]
},
// ???/?? ??
"right_panel/stonecutter_screen_inventory/stonecutter_label": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"right_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"stonecutter_inventory_root_panel@rainbowpieui_stonecutter.stonecutter_inventory_root_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_84df7492)"
}
}
]
}
]
},
// ???/?? ??
"right_panel/common_panel": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_84df7492",
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 28px" ]
},
// ???/?? ??
"right_panel/stonecutter_screen_inventory": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_84df7492",
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "container.stonecutter"
}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: stonecutter_screen_pocket.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "stonecutter_pocket",
// ???/?? ??
"vertical_arrow_icon": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/arrow_down_large')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"right_navigation_tabs/close": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"right_navigation_tabs": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// ???/?? ??
"close_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 33 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_background@rainbowpie_ui_inventory.header_background": {
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "100% - 4px", 33 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@rainbowpie_ui_common.close_button": {
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_closebutton_default_color": "$rainbowpie_ui_theme_inventory_header_title_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
}
}
]
}
}
]
}
]
},
// ???/?? ??
"stonecutter_content_stack_panel": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"pattern_scroll_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scroll_background_image_control": "rainbowpie_ui_common.container_scroll_background_image",
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"inventory_scroll_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scroll_background_image_control": "rainbowpie_ui_common.container_scroll_background_image",
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"inventory_panel/inventory_title_label_centerer/inventory_title_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"right_tab_stonecutter": {
// 오버라이드 가능한 변수
"$checked_bar_anchor": "right",
// 오버라이드 가능한 변수
"$tab_panel": "rainbowpie_ui_tab.tab_panel",
// 오버라이드 가능한 변수
"$tab_image_size": [ "100% - 4px", "100%" ],
// 오버라이드 가능한 변수
"$tab_image_anchor": "right_middle",
// 오버라이드 가능한 변수
"$tab_content_size": [ "100% - 4px", "100% - 8px" ],
// 오버라이드 가능한 변수
"$tab_content_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$tab_content_anchor": "right_middle",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_alpha": "$rainbowpie_ui_theme_inventory_header_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_alpha": 0.6
},
// ???/?? ??
"right_panel/content/bg": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background"
},
// ???/?? ??
"left_tab_stones": {
// 오버라이드 가능한 변수
"$checked_bar_anchor": "left",
// 오버라이드 가능한 변수
"$tab_panel": "rainbowpie_ui_tab.tab_panel",
// 오버라이드 가능한 변수
"$tab_image_size": [ "100% - 4px", "100%" ],
// 오버라이드 가능한 변수
"$tab_image_anchor": "left_middle",
// 오버라이드 가능한 변수
"$tab_content_size": [ "100% - 4px", "100% - 8px" ],
// 오버라이드 가능한 변수
"$tab_content_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$tab_content_anchor": "left_middle",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_alpha": "$rainbowpie_ui_theme_inventory_header_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_alpha": 0.6
},
// ???/?? ??
"left_tab_inventory": {
// 오버라이드 가능한 변수
"$checked_bar_anchor": "left",
// 오버라이드 가능한 변수
"$tab_panel": "rainbowpie_ui_tab.tab_panel",
// 오버라이드 가능한 변수
"$tab_image_size": [ "100% - 4px", "100%" ],
// 오버라이드 가능한 변수
"$tab_image_anchor": "left_middle",
// 오버라이드 가능한 변수
"$tab_content_size": [ "100% - 4px", "100% - 8px" ],
// 오버라이드 가능한 변수
"$tab_content_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$tab_content_anchor": "left_middle",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_alpha": "$rainbowpie_ui_theme_inventory_header_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_alpha": 0.6
},
// ???/?? ??
"left_panel/content/bg": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: storage_management.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "storage_management",
// ???/?? ??
"resource_controls": {
// 오버라이드 가능한 변수
"$item_template": "rainbowpieui_storage_management.pack_description_sub_item"
},
// ???/?? ??
"behavior_controls": {
// 오버라이드 가능한 변수
"$item_template": "rainbowpieui_storage_management.pack_description_sub_item"
},
// ???/?? ??
"cached_controls": {
// 오버라이드 가능한 변수
"$item_template": "rainbowpieui_storage_management.pack_description_sub_item"
},
// ???/?? ??
"main_content_panel/panel": {
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "image_panel",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// ???/?? ??
"padding_main_item_toggle": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, 0 ],
// 보이기/숨기기(공간 유지)
"visible": "$image_visible"
}
}
]
}
]
},
// ???/?? ??
"main_content_panel/panel/spacing": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"main_content_panel/panel/image_panel/image_border": {
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 사용할 이미지 경로
"texture": ""
},
// ???/?? ??
"main_content_panel/panel/image_panel/image_border/image": {
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "100%", "100%" ],
"fill": true
},
// ???/?? ??
"common_main_button/background": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"common_main_button/border": {
// 보이기/숨기기(공간 유지)
"visible": "($button_state = hover)",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 22
},
// ???/?? ??
"sub_item_tray_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"storage_main_item_toggle": {
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "main_item_toggle",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// ???/?? ??
"padding_main_item_toggle": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 2 ]
}
}
]
}
]
},
// ???/?? ??
"resource_sub_item/main_panel": {
// 가로/세로 크기
"size": [ "100%", "100%c + 1px" ],
// 오버라이드 가능한 변수
"$control_template|default": "rainbowpieui_storage_management.resource_toggle"
},
// ???/?? ??
"common_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"generic_button/text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"storage_scroll_pane/category_stack_panel/stack_panel": {
// 가로/세로 크기
"size": [ "100%", "100%c" ]
},
// ???/?? ??
"storage_scroll_pane/category_stack_panel/legacy_world_stack_panel": {
// 가로/세로 크기
"size": [ "100%", "100%c" ]
},
// ???/?? ??
"storage_scroll_pane/category_stack_panel/retailtopreview_world_stack_panel": {
// 가로/세로 크기
"size": [ "100%", "100%c" ]
},
// ???/?? ??
"storage_main_item_toggle/main_item_toggle": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_content": "storage_management.main_item_text",
// 오버라이드 가능한 변수
"$button_content_size": [ "100% - 6px", "100%" ]
},
// ???/?? ??
"storage_footer_panel/visibleContent": {
// 가로/세로 크기
"size": [ "100% - 4px", 32 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#multiselectEnabled"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "storage_management_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#storage_management_visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#multiselectEnabled and #storage_management_visible)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"storage_footer_panel/visibleContent/delete_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ]
},
// ???/?? ??
"storage_footer_panel/visibleContent/share_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ]
},
// ???/?? ??
"storage_header_panel/header_panel/clear_download_cache_button_panel/clear_download_button": {
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ]
},
// ???/?? ??
"storage_header_panel/header_panel/clear_download_cache_button_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "bindings",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "storage_settings_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
]
},
// ???/?? ??
"storage_header_panel/header_panel/panel/multiselect_button": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpie_ui_toggle.toggle_content_button_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_unchecked_locked_hover",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpie_ui_toggle.toggle_content_button_checked_locked_hover",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ]
},
// ???/?? ??
"storage_header_panel/header_panel/clear_cache_button_panel/clear_cache_button": {
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ]
},
// ???/?? ??
"storage_header_panel/header_panel/clear_screenshots_cache_button_panel/clear_screenshots_cache_button": {
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#screenshots_showcase_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled"
}
]
},
// ???/?? ??
"storage_header_panel/header_panel/delete_local_screenshots_button_panel/delete_local_screenshots_button": {
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#screenshots_gallery_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled"
}
]
},
// ???/?? ??
"storage_main_panel/scroll_content": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "bindings",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "storage_management_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
]
},
// ???/?? ??
"storage_header_panel/header_panel/panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "bindings",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "storage_management_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
]
},
// ???/?? ??
"storage_header_panel/header_panel/file_storage_dropdown": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#storage_location_radio_external",
// 오버라이드 가능한 변수
"$radio_label_text": "options.filelocation.external"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#storage_location_radio_package",
// 오버라이드 가능한 변수
"$radio_label_text": "options.filelocation.appdata"
}
}
],
// 완전히 제거(공간도 없음)
"ignored": "(($is_holographic and $is_reality_mode) or (not ($storage_location_switch_enabled and not $gear_vr)))",
// 보이기/숨기기(공간 유지)
"visible": true,
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "bindings",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "storage_settings_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
]
},
// ???/?? ??
"storage_header_panel/header_panel/clear_cache_button_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "bindings",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "storage_settings_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
]
},
// ???/?? ??
"storage_header_panel/header_panel/clear_screenshots_cache_button_panel": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "storage_settings_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"storage_header_panel/header_panel/delete_local_screenshots_button_panel": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "storage_settings_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"storage_header_panel/header_panel": {
// 가로/세로 크기
"size": [ "100%", "100%c + 4px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ],
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"navigation_tab_panel@rainbowpieui_storage_management.navigation_tab_panel": {}
},
{
// ???/?? ??
"padding_navigation_tab": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 1 ]
}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: store_common.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "common_store",
// ???/?? ??
"purchase_coins_panel/plus_button": {
},
// ???/?? ??
"inventory_panel/inventory_button": {
},
// ???/?? ??
"status_with_coins/inventory_panel/inventory_button": {
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ]
},
// ???/?? ??
"status_with_coins/coin_balance_panel/coin_balance_panel": {
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ]
},
// ???/?? ??
"store_header_with_coins": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$screen_header_title|default": "#screen_header_title",
// 오버라이드 가능한 변수
"$screen_header_title_binding_type|default": "global",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"header@rainbowpie_ui_common.screen_header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_title": "$screen_header_title",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_title_bindings": [
{
// 바인딩 종류(변수로 관리되는 경우도 있음)
"binding_type": "$screen_header_title_binding_type",
// 가져올 값 이름
"binding_name": "$screen_header_title",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "$screen_header_title"
}
],
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenheader_content_panel": "rainbowpie_ui_store_common.header_content_panel"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"child_control@$child_control": {
// 가로/세로 크기
"size": [ "100%", "100% - 20px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
}
]
},
// ???/?? ??
"store_base_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "store",
// 오버라이드 가능한 변수
"$use_animation": true
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: store_data_driven_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "store_layout",
// ???/?? ??
"store_data_driven_screen_base": {
// 조건에 따라 변수 값을 바꾸기
"variables": []
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: structure_editor_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "structure_editor",
// ???/?? ??
"image_panel_wrapper": {
// 사용할 이미지 경로
"texture": ""
},
// ???/?? ??
"button_panel_wrapper": {
// 사용할 이미지 경로
"texture": ""
},
// ???/?? ??
"export_disabled_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"import_failed_message_text/save_message_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"import_message_text/save_message_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"save_message_text/save_message_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"load_mode_panel/animation_time_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"load_mode_panel/mirror_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"mirror_checkbox/label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"common_text_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"3d_export_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"save_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"export_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"load_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"detect_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"import_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"reset_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"help_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"redstone_save_mode_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"structure_redstone_memory@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#structure_redstone_memory",
// 오버라이드 가능한 변수
"$radio_label_text": "structure_block.save_to_memory"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"structure_redstone_disk@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#structure_redstone_disk",
// 오버라이드 가능한 변수
"$radio_label_text": "structure_block.save_to_disk"
}
}
]
},
// ???/?? ??
"animation_mode_dropdown": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"structure_animation_none@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#structure_animation_none",
// 오버라이드 가능한 변수
"$radio_label_text": "structure_block.place_by_none"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"structure_animation_layers@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#structure_animation_layers",
// 오버라이드 가능한 변수
"$radio_label_text": "structure_block.place_by_layer"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"structure_animation_blocks@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#structure_animation_blocks",
// 오버라이드 가능한 변수
"$radio_label_text": "structure_block.place_by_block"
}
}
]
},
// ???/?? ??
"mode_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"structure_save_mode@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#structure_save_mode",
// 오버라이드 가능한 변수
"$radio_label_text|default": "structure_block.mode.save"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"structure_load_mode@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#structure_load_mode",
// 오버라이드 가능한 변수
"$radio_label_text|default": "structure_block.mode.load"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"structure_data_mode@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 완전히 제거(공간도 없음)
"ignored": "(not $data_support)",
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#structure_data_mode",
// 오버라이드 가능한 변수
"$radio_label_text": "structure_block.mode.data"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"structure_corner_mode@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#structure_corner_mode",
// 오버라이드 가능한 변수
"$radio_label_text": "structure_block.mode.corner"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"structure_3d_export_mode@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 완전히 제거(공간도 없음)
"ignored": "(not $3DExport_support)",
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#structure_3d_export_mode",
// 오버라이드 가능한 변수
"$radio_label_text": "structure_block.mode.export"
}
}
]
},
// ???/?? ??
"structure_editor_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "structure_editor",
"force_render_below": true,
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_structure_editor.structure_editor_content"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: toast_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "toast_screen",
// ???/?? ??
"popup_anim": {
// 움직임 곡선
"easing": "out_cubic"
},
// ???/?? ??
"toast_screen_content": {
// 목록 아이템을 자동으로 생성
"factory": {
"name": "toast_factory",
// 팩토리 템플릿 매핑
"control_ids": {
"popup": "popup@toast_screen.popup",
"chat_popup": "chat_popup@toast_screen.chat_popup",
"recipe_unlocked": "recipe_unlocked@toast_screen.recipe_unlocked_popup",
"recipe_unlocked_pocket": "recipe_unlocked_pocket@toast_screen.recipe_unlocked_pocket_popup",
"splitscreen_join_popup": "splitscreen_join_popup@toast_screen.splitscreen_join_popup",
"formfitting_alpha_toast": "toast_screen.formfitting_alpha_toast",
"snackbar": "snackbar@toast_screen.snackbar"
},
// ???/?? ??
"factory_variables": [
"$rainbowpie_ui_theme_global_font_name",
"$rainbowpie_ui_theme_global_font_backup_name",
"$is_pregame"
]
}
},
// ???/?? ??
"text_stack_panel": {
// 기준점에서 이동하는 거리
"offset": [ -3, 3 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"title_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title@toast_screen.toast_label": {
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 보여줄 글자
"text": "#toast_title",
// ?? ??
"text_alignment": "center",
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_title_text_color",
// 가로/세로 크기
"size": [ "100%", 10 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#toast_title"
},
{
// 가져올 값 이름
"binding_name": "(not #toast_subtitle_visible)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"title_and_subtitle": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title@toast_screen.toast_label": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 보여줄 글자
"text": "#toast_title",
// ?? ??
"text_alignment": "center",
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_title_text_color",
// 가로/세로 크기
"size": [ "100%", 10 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#toast_title"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"subtext@toast_screen.toast_label": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ "100%", 10 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 보여줄 글자
"text": "#toast_subtitle",
// ?? ??
"text_alignment": "center",
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_title_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#toast_subtitle"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#toast_subtitle_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
}
]
},
// ???/?? ??
"toast_image": {
// 가로/세로 크기
"size": [ 20, 20 ]
},
// ???/?? ??
"resource_pack_icon/resource_pack_image": {
// 가로/세로 크기
"size": [ 20, 20 ]
},
// ???/?? ??
"popup": {
// 오버라이드 가능한 변수
"$popup_size": [ "60%", 26 ],
// 오버라이드 가능한 변수
"$offset_anims": [
"@rainbowpieui_toast_screen.popup_anim"
],
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// ???/?? ??
"background_toast_subtitle_visible": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "100% - 6px", "100% - 2px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ],
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_toast_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_toast_background_alpha",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#toast_subtitle_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"icon": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 3, 0 ],
// 목록 아이템을 자동으로 생성
"factory": {
"name": "toast_image_factory",
// 팩토리 템플릿 매핑
"control_ids": {
"xbox_icon": "@toast_screen.xbox_icon",
"third_party_achievement_icon": "@toast_screen.third_party_achievement_icon",
"third_party_invite_icon": "@toast_screen.third_party_invite_icon",
"icon_resource_pack": "@toast_screen.resource_pack_icon",
"key_art_image": "@toast_screen.key_art_image",
"persona_icon": "@toast_screen.persona_icon"
},
// ???/?? ??
"factory_variables": [
"$hide_xbox_live_icon"
]
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져올 값 이름
"binding_name": "#toast_icon_section_content",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}
]
}
}
]
}
]
},
// ???/?? ??
"popup/popup_content/icon_padding": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"popup/popup_content/text_padding": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"popup/popup_content": {
// 가로/세로 크기
"size": [ "100% - 6px", "100% - 6px" ]
},
// ???/?? ??
"popup/background": {
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "100% - 6px", "100% - 6px" ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_toast_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_toast_background_alpha",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #toast_subtitle_visible)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
// ???/?? ??
"formfitting_alpha_toast/bg/label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_title_text_color"
},
// ???/?? ??
"formfitting_alpha_toast/bg": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_toast_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_toast_background_alpha"
},
// ???/?? ??
"toast_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_ignored": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "toast_screen"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: trade_2_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "trade2",
// ???/?? ??
"top_half_stack_panel/trade_button_holder/trade_button": {
// 기준점에서 이동하는 거리
"offset": [ 0, "-50%y" ]
},
// ???/?? ??
"top_half_stack_panel/trade_button_holder": {
// 가로/세로 크기
"size": [ "100%cm", 0 ],
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"trade_all_button@trade2.trade_button": {
// 오버라이드 가능한 변수
"$button_text": "rainbowpie.ui.trade2.tradeAll",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.container_auto_place",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#collection_name": "trade2_result_item",
// ???/??? ?
"#collection_index": 0
},
// 기준점에서 이동하는 거리
"offset": [ 0, "50%y" ]
}
}
]
}
]
},
// ???/?? ??
"screen_stack_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// ???/?? ??
"result_item_name_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_ca81cc28)",
// 가로/세로 크기
"size": [ 0, 166 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"text_background@rainbowpie_ui_common.text_background": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [ 0, 26 ],
// 가로/세로 크기
"size": [ "100%c + 2px", "100%c + 2px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"result_item_info_label@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "#hover_text",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hover_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "trade2_result_item"
}
]
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hover_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "trade2_result_item"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hover_text = ''))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
]
},
// ???/?? ??
"hover_button": {
},
// ???/?? ??
"scroll_inner_input_panel/trade_selector_stack_panel": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle"
},
// ???/?? ??
"scroll_inner_input_panel": {
// 가로/세로 크기
"size": [ "100%", "100%c - 1px" ]
},
// ???/?? ??
"tier_stack_panel/tier_label_holder": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"tier_stack_panel/padding": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"tier_stack_panel": {
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [],
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "tier_label_holder",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"tier_title@rainbowpieui_trade2.tier_title": {}
}
]
}
]
},
// ???/?? ??
"trade_toggle_holder": {
// 가로/세로 크기
"size": [ "100%", "100%c" ]
},
// ???/?? ??
"trade_toggle": {
// 오버라이드 가능한 변수
"$toggle_enabled_binding_type": "none",
// 오버라이드 가능한 변수
"$toggle_enabled_binding_name": "none",
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpieui_trade2.trade_toggle_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpieui_trade2.trade_toggle_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_locked",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_locked"
},
// ???/?? ??
"left_panel/bg": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"trade_scroll_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scroll_background_image_control": "common.empty_panel",
// 오버라이드 가능한 변수
"$scroll_view_port_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$scroll_view_port_offset": [ 0, 0 ],
// 가로/세로 크기
"size": [ "100% - 12px", "100% - 5px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0.5 ]
},
// ???/?? ??
"exp_progress_bar/empty_progress_bar/progress_bar_nub": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"blue_progress_bar": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": [ 0.2392156862745098, 0.5686274509803922, 0.6 ],
// ???
"alpha": "$rainbowpie_ui_theme_experience_full_alpha"
},
// ???/?? ??
"white_progress_bar": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": [ 1.0, 1.0, 1.0 ],
// ???
"alpha": "$rainbowpie_ui_theme_experience_empty_alpha"
},
// ???/?? ??
"empty_progress_bar": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": [ 0.1254901960784314, 0.2509803921568627, 0.2823529411764706 ],
// ???
"alpha": "$rainbowpie_ui_theme_experience_empty_alpha"
},
// ???/?? ??
"trade_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"how_to_play_button": {
// 완전히 제거(공간도 없음)
"ignored": true,
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$button_text": "?"
},
// ???/?? ??
"arrow_left_image": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/arrow_dark_left_stretch')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"arrow_right_image": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/inventory/arrow_dark_right_stretch')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_default_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_default_alpha"
},
// ???/?? ??
"item_slot": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"screen_stack_panel/toolbar_anchor": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"center_fold": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"villager_name_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color"
},
// ???/?? ??
"exp_progress_bar": {
// 가로/세로 크기
"size": [ "100% - 14px", 3 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 31 ]
},
// ???/?? ??
"top_half_panel": {
// 기준점에서 이동하는 거리
"offset": [ 0, 25 ]
},
// ???/?? ??
"right_panel/trade_screen_inventory": {
// 보이기/숨기기(공간 유지)
"visible": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "more_navigation_tab_toggle",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"right_panel/trade_screen_inventory/villager_name_label": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"right_panel/common_panel": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -2 ],
// 가로/세로 크기
"size": [ "100% - 8px", "100% - 28px" ]
},
// ???/?? ??
"right_panel": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "variables",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_84df7492",
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_inventory_and_container.cell_panel"
}
]
},
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_header@rainbowpie_ui_inventory.header": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title": "#name_label",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_title_bindings": [
{
// 가져올 값 이름
"binding_name": "#name_label",
// ?? ???
"binding_condition": "always_when_visible"
}
],
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventoryheader_extra_controls": "rainbowpieui_trade2.header_controls"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"trade_screen_more_info@rainbowpieui_trade2.trade_screen_more_info": {}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: trade_2_screen_pocket.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "trade2_pocket",
// ???/?? ??
"right_navigation_tabs/pocket_tab_close_button": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"right_navigation_tabs": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// ???/?? ??
"close_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 33 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_background@rainbowpie_ui_inventory.header_background": {
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "100% - 4px", 33 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@rainbowpie_ui_common.close_button": {
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_closebutton_default_color": "$rainbowpie_ui_theme_inventory_header_title_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
}
}
]
}
}
]
}
]
},
// ???/?? ??
"trade_slots_panel": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_content_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_content_background_alpha"
},
// ???/?? ??
"name_and_trade_slots_stack_panel/exp_progress_bar_holder/exp_progress_bar": {
// 가로/세로 크기
"size": [ "100%", 3 ]
},
// ???/?? ??
"inventory_scroll_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled": true,
// 오버라이드 가능한 변수
"$scroll_background_image_control": "rainbowpie_ui_common.container_scroll_background_image",
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"right_panel/content/bg": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background"
},
// ???/?? ??
"left_tab_trade": {
// 오버라이드 가능한 변수
"$checked_bar_anchor": "left",
// 오버라이드 가능한 변수
"$tab_panel": "rainbowpie_ui_tab.tab_panel",
// 오버라이드 가능한 변수
"$tab_image_size": [ "100% - 4px", "100%" ],
// 오버라이드 가능한 변수
"$tab_image_anchor": "left_middle",
// 오버라이드 가능한 변수
"$tab_content_size": [ "100% - 4px", "100% - 8px" ],
// 오버라이드 가능한 변수
"$tab_content_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$tab_content_anchor": "left_middle",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_alpha": "$rainbowpie_ui_theme_inventory_header_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_alpha": 0.6
},
// ???/?? ??
"left_tab_inventory": {
// 오버라이드 가능한 변수
"$checked_bar_anchor": "left",
// 오버라이드 가능한 변수
"$tab_panel": "rainbowpie_ui_tab.tab_panel",
// 오버라이드 가능한 변수
"$tab_image_size": [ "100% - 4px", "100%" ],
// 오버라이드 가능한 변수
"$tab_image_anchor": "left_middle",
// 오버라이드 가능한 변수
"$tab_content_size": [ "100% - 4px", "100% - 8px" ],
// 오버라이드 가능한 변수
"$tab_content_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$tab_content_anchor": "left_middle",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_alpha": "$rainbowpie_ui_theme_inventory_header_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_color": "$rainbowpie_ui_theme_inventory_header_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_color": "$rainbowpie_ui_theme_inventory_background_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_alpha": 0.6
},
// ???/?? ??
"left_panel/content/bg": {
// 오버라이드 가능한 변수
"$dialog_background": "rainbowpie_ui_common.inventory_background"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: ui_common.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "common",
// ???/?? ??
"loading_bar_wait_animation": {
// 걸리는 시간(초)
"duration": 1.0
},
// ???/?? ??
"loading_bar_fade_animation": {
// 걸리는 시간(초)
"duration": "$rainbowpie_ui_animation_transition_time"
},
// ???/?? ??
"static_tooltip_popup_with_image_and_text/image_and_text_stack_panel/tooltip_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_hovertext_text_color"
},
// ???/?? ??
"static_tooltip_popup_with_image_and_text/tooltip_chevron": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"tooltip_background": {
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_hovertext_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_hovertext_background_alpha"
},
// ???/?? ??
"selected_item_details_factory": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"slot_selected": {
// 사용할 이미지 경로
"texture": "textures/ui/focus_border_white",
// 가로/세로 크기
"size": [ "100%", "100%" ]
},
// ???/?? ??
"durability_bar": {
// 오버라이드 가능한 변수
"$durability_bar_size|default": [ 14, 1.5 ],
// 오버라이드 가능한 변수
"$durability_bar_offset|default": [ 0, 6 ],
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
"drop_shadow": false,
"is_durability": true,
"round_value": true
}
},
// ???/?? ??
"empty_progress_bar": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ???
"alpha": 0.5
},
// ???/?? ??
"filled_progress_bar": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ???
"alpha": 0.6
},
// ???/?? ??
"progress_bar": {
// 가로/세로 크기
"size": [ 182, 4 ]
},
// ???/?? ??
"progress_bar_for_collections/empty_progress_bar": {
// ?? (R,G,B,A)
"color": [ 0.2, 0.2, 0.2 ],
// ???
"alpha": 0.75,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"empty_progress_bar@common.empty_progress_bar": {
// 겹치는 순서(숫자 클수록 위)
"layer": -2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#bar_color",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#color",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$progress_bar_collection"
}
]
}
}
]
},
// ???/?? ??
"highlight_slot_panel/highlight/hover_text": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_86c54726)",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "bindings",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// 가져올 값 이름
"binding_name": "#item_durability_total_amount",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name",
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_feature_inventory_durability) or (not $durability_bar_required))"
},
{
// 가져올 값 이름
"binding_name": "#item_durability_current_amount",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name",
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_feature_inventory_durability) or (not $durability_bar_required))"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#item_durability_current_amount = 0) and (#item_durability_total_amount = 0))",
// 결과가 들어갈 속성
"target_property_name": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_feature_inventory_durability) or (not $durability_bar_required))"
}
]
}
]
},
// ???/?? ??
"pocket_hotbar_panel/bg": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"pocket_hotbar_panel/hotbar_grid": {
// 오버라이드 가능한 변수
"$background_images": "rainbowpie_ui_common.cell_image"
},
// ???/?? ??
"pocket_content_panels/offset_panel/center_bg": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"inventory_panel_bottom_half_with_label/inventory_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_title_color",
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"inventory_selected_stack_size_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"stack_count_label": {
// ??
"font_type": "$rainbowpie_ui_flag_inventory_stack_count_font",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"safezone_inner_matrix/outer_top": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"safezone_background@rainbowpie_ui_common.global_background": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screenbackground_ingameSafezoneOnly or $rainbowpie_localui_screenbackground_ingamebg_ignored or $rainbowpie_localui_inventory_screen or not (($rainbowpie_ui_flag_overlay_screen_alias - $rainbowpie_localui_screen_alias_formatted) = $rainbowpie_ui_flag_overlay_screen_alias))",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
},
// ???/?? ??
"safezone_inner_matrix/outer_bottom": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"safezone_background@rainbowpie_ui_common.global_background": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screenbackground_ingameSafezoneOnly or $rainbowpie_localui_screenbackground_ingamebg_ignored or $rainbowpie_localui_inventory_screen or not (($rainbowpie_ui_flag_overlay_screen_alias - $rainbowpie_localui_screen_alias_formatted) = $rainbowpie_ui_flag_overlay_screen_alias))",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
},
// ???/?? ??
"safezone_outer_matrix/outer_left": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"safezone_background@rainbowpie_ui_common.global_background": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screenbackground_ingameSafezoneOnly or $rainbowpie_localui_screenbackground_ingamebg_ignored or $rainbowpie_localui_inventory_screen or not (($rainbowpie_ui_flag_overlay_screen_alias - $rainbowpie_localui_screen_alias_formatted) = $rainbowpie_ui_flag_overlay_screen_alias))",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
},
// ???/?? ??
"safezone_outer_matrix/outer_right": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"safezone_background@rainbowpie_ui_common.global_background": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_screenbackground_ingameSafezoneOnly or $rainbowpie_localui_screenbackground_ingamebg_ignored or $rainbowpie_localui_inventory_screen or not (($rainbowpie_ui_flag_overlay_screen_alias - $rainbowpie_localui_screen_alias_formatted) = $rainbowpie_ui_flag_overlay_screen_alias))",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
},
// ???/?? ??
"container_slot_button_prototype": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// ???/?? ??
"custom_hover_text_control": {
// 클릭 가능한 버튼
"type": "button",
"consume_hover_events": false,
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_86c54726)",
"hover_control": "hover_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"custom_hover_text": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 보이기/숨기기(공간 유지)
"visible": false,
// 가로/세로 크기
"size": [ "100%", "100%" ],
"allow_clipping": false,
"follows_cursor": true,
"consume_hover_events": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"hover_text": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white')",
// 가로/세로 크기
"size": [ "100%c + 8px", "100%c + 5px" ],
// 기준점에서 이동하는 거리
"offset": "$offset",
// 오버라이드 가능한 변수
"$offset": [ 20, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// ?? ????
"clips_children": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 200,
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_hovertext_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_hovertext_background_alpha",
// 이 안에 들어가는 부품 목록
"controls": [
{ "inventory_actions_hover_text@rainbowpie_module_inventory_actions.inventory_actions_hover_text": {} },
{
// ???/?? ??
"background_icon": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "$rainbowpie_ui_theme_hovertext_bgicon_anchor",
// 기준점(어디에서 시작할지)
"anchor_from": "$rainbowpie_ui_theme_hovertext_bgicon_anchor",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_theme_hovertext_bgicon_enabled)",
"allow_clipping": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"icon_image": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": "$rainbowpie_ui_theme_hovertext_bgicon_size",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$rainbowpie_ui_theme_hovertext_bgicon_anchor",
// 기준점(어디에서 시작할지)
"anchor_from": "$rainbowpie_ui_theme_hovertext_bgicon_anchor",
// 기준점에서 이동하는 거리
"offset": "$rainbowpie_ui_theme_hovertext_bgicon_offset",
// 사용할 이미지 경로
"texture": "$rainbowpie_ui_theme_hovertext_bgicon_texture",
// ???
"alpha": "$rainbowpie_ui_theme_hovertext_bgicon_alpha",
"fill": "$rainbowpie_ui_theme_hovertext_bgicon_fill",
// 겹치는 순서(숫자 클수록 위)
"layer": 3
}
}
]
}
},
{
// ???/?? ??
"hover_text_controls": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%cm", "100%c" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hover_text_label@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", "default" ],
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_hovertext_text_color",
// 보여줄 글자
"text": "#text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hover_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
}
]
}
},
{
// ???/?? ??
"durability_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%cm" ],
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_feature_inventory_durability) or (not $durability_bar_required))",
// 보이기/숨기기(공간 유지)
"visible": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hover_text_durability_title@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", "default" ],
// ?? (R,G,B,A)
"color": [ 0.0, 0.667, 0 ],
// 보여줄 글자
"text": "rainbowpie.ui.inventory.durability"
}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hover_text_durability_value@rainbowpie_ui_common.text_label_notheme": {
// 가로/세로 크기
"size": [ "default", "default" ],
// ?? (R,G,B,A)
"color": [ 0.0, 0.667, 0 ],
// 보여줄 글자
"text": "#text",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#amount_current": 0,
// ???/??? ?
"#amount_total": 0
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#item_durability_total_amount",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#item_durability_current_amount",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(((#amount_current > #item_durability_current_amount) * - 1 + 1) * ((#amount_current < #item_durability_current_amount) * 1 + #amount_current))",
// 결과가 들어갈 속성
"target_property_name": "#amount_current",
// ?? ???
"binding_condition": "always_when_visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(((#amount_total > #item_durability_total_amount) * - 1 + 1) * ((#amount_total < #item_durability_total_amount) * 1 + #amount_total))",
// 결과가 들어갈 속성
"target_property_name": "#amount_total",
// ?? ???
"binding_condition": "always_when_visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\"' + #amount_current + '/' + #amount_total + '\"')",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#item_durability_total_amount",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#item_durability_current_amount",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#item_durability_current_amount = 0) and (#item_durability_total_amount = 0)))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hover_text_debug@rainbowpie_ui_common.text_label_notheme": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_inventory_debug)",
// 가로/세로 크기
"size": [ "default", "default" ],
// ?? (R,G,B,A)
"color": [ 0.0, 0.667, 0.667 ],
// 보여줄 글자
"text": "#text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#item_id_aux / 65536)",
// 결과가 들어갈 속성
"target_property_name": "#item_id"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('item_id_aux: ' + #item_id_aux)",
// 결과가 들어갈 속성
"target_property_name": "#item_id_aux_string"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('item_id: ' + #item_id)",
// 결과가 들어갈 속성
"target_property_name": "#item_id_string"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('item_id_aux(cb): ' + (#item_id * 65536))",
// 결과가 들어갈 속성
"target_property_name": "#item_id_aux_cb_string"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#item_id_aux_string + '\n' + #item_id_string + '\n' + #item_id_aux_cb_string)",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
}
}
]
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hover_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hover_text = ''))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
]
}
]
},
// ???/?? ??
"highlight_slot_panel/highlight": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_highlight_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_highlight_alpha",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "bindings",
// ?? ??
"operation": "remove",
// ???/?? ??
"where": {
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
},
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hover_text_with_durability@common.hover_text": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_flag_86c54726 or (not $rainbowpie_ui_feature_inventory_durability) or (not $durability_bar_required))",
// 겹치는 순서(숫자 클수록 위)
"layer": 29,
// 오버라이드 가능한 변수
"$hover_text_binding_name|default": "#hover_text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$hover_text_binding_name",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#hover_text_str",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#item_durability_total_amount",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#item_durability_current_amount",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(((#amount_current > #item_durability_current_amount) * - 1 + 1) * ((#amount_current < #item_durability_current_amount) * 1 + #amount_current))",
// 결과가 들어갈 속성
"target_property_name": "#amount_current",
// ?? ???
"binding_condition": "always_when_visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(((#amount_total > #item_durability_total_amount) * - 1 + 1) * ((#amount_total < #item_durability_total_amount) * 1 + #amount_total))",
// 결과가 들어갈 속성
"target_property_name": "#amount_total",
// ?? ???
"binding_condition": "always_when_visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#hover_text_str + '\n§2Durability: ' + #amount_current + '/' + #amount_total)",
// 결과가 들어갈 속성
"target_property_name": "#hover_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#item_durability_current_amount = 0) and (#item_durability_total_amount = 0)))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
]
},
// ???/?? ??
"highlight_slot_panel/white_border": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_inventory_cell_highlight_border)",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_inventory_cell_highlight_border_color",
// ???
"alpha": "$rainbowpie_ui_theme_inventory_cell_highlight_border_alpha"
},
// ???/?? ??
"item_renderer": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "bindings",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// 가져올 값 이름
"binding_name": "#using_touch"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#fade_in_icon_time_seconds * #using_touch)",
// 결과가 들어갈 속성
"target_property_name": "#fade_in_icon_time_seconds",
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_flying_item_renderer"
}
]
}
]
},
// ???/?? ??
"flying_item_renderer": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "bindings",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// 가져올 값 이름
"binding_name": "#using_touch",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_flag_flying_item_renderer"
}
]
}
]
},
// ???/?? ??
"inventory_screen_common": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "inventory_screen",
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventory_screen": true,
"force_render_below": "$desktop_screen",
// 오버라이드 가능한 변수
"$screen_animations|default": [
"@rainbowpie_ui_animations.container_screen_exit_animation_push",
"@rainbowpie_ui_animations.container_screen_exit_animation_pop",
"@rainbowpie_ui_animations.container_screen_entrance_animation_push",
"@rainbowpie_ui_animations.container_screen_entrance_animation_pop",
"@common.screen_exit_animation_push_fade",
"@common.screen_exit_animation_pop_fade",
"@common.screen_entrance_animation_push_fade",
"@common.screen_entrance_animation_pop_fade"
]
},
// ???/?? ??
"text_edit_box_label": {
// 오버라이드 가능한 변수
"$place_holder_text_font_type|default": "default",
// 오버라이드 가능한 변수
"$place_holder_text_backup_font_type|default": "default",
// ??
"font_type": "$place_holder_text_font_type",
"backup_font_type": "$place_holder_text_backup_font_type"
},
// ???/?? ??
"text_edit_box_place_holder_label": {
// 오버라이드 가능한 변수
"$place_holder_text_font_type|default": "default",
// 오버라이드 가능한 변수
"$place_holder_text_backup_font_type|default": "default",
// ??
"font_type": "$place_holder_text_font_type",
"backup_font_type": "$place_holder_text_backup_font_type"
},
// ???/?? ??
"text_edit_box/centering_panel/clipper_panel/$text_edit_text_control": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_editbox_enabled"
},
// ???/?? ??
"text_edit_box/centering_panel/clipper_panel/visibility_panel/place_holder_control": {
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_localui_editbox_enabled",
// 오버라이드 가능한 변수
"$place_holder_text_font_type": "$rainbowpie_ui_theme_global_font_name",
// 오버라이드 가능한 변수
"$place_holder_text_backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// 오버라이드 가능한 변수
"$place_holder_text_color": "$rainbowpie_ui_theme_input_placeholder_color"
}
]
},
// "text_edit_box/centering_panel/clipper_panel/visibility_panel/place_holder_control": {
// "ignored": "$rainbowpie_localui_editbox_enabled"
// },
// "text_edit_box/centering_panel/clipper_panel/visibility_panel": {
// "modifications": [
// {
// "array_name": "controls",
// "operation": "insert_front",
// "value": [
// {
// "place_holder_control_rainbowpie@common.empty_panel": {
// "ignored": "(not $rainbowpie_localui_editbox_enabled)",
// "controls": [
// {
// "place_holder_control@rainbowpie_ui_common.text_edit_box_place_holder_label": {
// "layer": 1,
// "size": "$placeholder_label_size",
// "offset": "$text_edit_box_label_offset",
// "min_size": "$text_edit_box_label_min_size",
// "anchor_from": "$text_edit_box_label_anchor_point",
// "anchor_to": "$text_edit_box_label_anchor_point",
// "$text_alpha|default": "$alpha",
// "$locked_text_alpha|default": "$disabled_alpha",
// "$locked_color|default": "$disabled_color"
// }
// }
// ]
// }
// }
// ]
// }
// ]
// },
"text_edit_box/centering_panel/clipper_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"text_edit_box_label@common.empty_panel": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_editbox_enabled)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"$text_edit_text_control@rainbowpie_ui_common.text_edit_box_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": "$text_edit_box_label_size",
// 기준점에서 이동하는 거리
"offset": "$text_edit_box_label_offset",
"min_size": "$text_edit_box_label_min_size",
// 기준점(어디에서 시작할지)
"anchor_from": "$text_edit_box_label_anchor_point",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$text_edit_box_label_anchor_point",
"font_size": "$font_size",
// 오버라이드 가능한 변수
"$text_alpha|default": "$alpha",
// 오버라이드 가능한 변수
"$locked_text_alpha|default": "$disabled_alpha",
// 오버라이드 가능한 변수
"$locked_color|default": "$disabled_color"
}
}
]
}
}
]
}
]
},
// ???/?? ??
"text_edit_box/locked": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "replace",
// ???/?? ??
"where": {
// 다른 템플릿을 가져와서 확장(상속)
"edit_box_indent@$text_background_default": {
// 오버라이드 가능한 변수
"$color": "$disabled_color",
// 오버라이드 가능한 변수
"$alpha": "$disabled_alpha"
}
},
// ??? ?
"value": {
// 다른 템플릿을 가져와서 확장(상속)
"edit_box_indent@common.empty_panel": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"edit_box_indent_vanilla@$text_background_default": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_editbox_enabled",
// 오버라이드 가능한 변수
"$color": "$disabled_color",
// 오버라이드 가능한 변수
"$alpha": "$disabled_alpha"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"edit_box_indent_rainbowpie@rainbowpie_ui_common.edit_box_indent_locked": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_editbox_enabled)"
}
}
]
}
}
}
]
},
// ???/?? ??
"text_edit_box": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_editbox_enabled|default": false,
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "replace",
// ???/?? ??
"where": {
// 다른 템플릿을 가져와서 확장(상속)
"default@$text_background_default": {}
},
// ??? ?
"value": {
// 다른 템플릿을 가져와서 확장(상속)
"default@common.empty_panel": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"edit_box_indent_vanilla@$text_background_default": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_editbox_enabled"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"edit_box_indent_rainbowpie@rainbowpie_ui_common.edit_box_indent": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_editbox_enabled)"
}
}
]
}
}
},
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "replace",
// ???/?? ??
"where": {
// 다른 템플릿을 가져와서 확장(상속)
"hover@$text_background_hover": {}
},
// ??? ?
"value": {
// 다른 템플릿을 가져와서 확장(상속)
"hover@common.empty_panel": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"edit_box_indent_vanilla@$text_background_hover": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_editbox_enabled"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"edit_box_indent_rainbowpie@rainbowpie_ui_common.edit_box_indent_hover": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_editbox_enabled)"
}
}
]
}
}
},
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "replace",
// ???/?? ??
"where": {
// 다른 템플릿을 가져와서 확장(상속)
"pressed@$text_background_hover": {}
},
// ??? ?
"value": {
// 다른 템플릿을 가져와서 확장(상속)
"pressed@common.empty_panel": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"edit_box_indent_vanilla@$text_background_hover": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_editbox_enabled"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"edit_box_indent_rainbowpie@rainbowpie_ui_common.edit_box_indent_hover": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_editbox_enabled)"
}
}
]
}
}
}
]
},
// ???/?? ??
"slider_bar_default/transparent_grey": {
// 가로/세로 크기
"size": [ "100% - 2px", "100% - 2px" ]
},
// ???/?? ??
"slider": {
// 오버라이드 가능한 변수
"$slider_step_factory_control_ids": {
"slider_step": "@rainbowpie_ui_common.slider_step",
"slider_step_hover": "@rainbowpie_ui_common.slider_step_hover",
"slider_step_progress": "@rainbowpie_ui_common.slider_step_progress",
"slider_step_progress_hover": "@rainbowpie_ui_common.slider_step_progress_hover"
}
},
// ???/?? ??
"slider_box": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_sliderbar_enabled|default": false,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_localui_sliderbar_enabled",
// 오버라이드 가능한 변수
"$slider_box_layout": "rainbowpie_ui_common.slider_button_layout",
// 오버라이드 가능한 변수
"$slider_box_hover_layout": "rainbowpie_ui_common.slider_button_hover_layout",
// 오버라이드 가능한 변수
"$slider_box_locked_layout": "rainbowpie_ui_common.slider_button_locked_layout",
// 오버라이드 가능한 변수
"$slider_box_indent_layout": "rainbowpie_ui_common.slider_button_indent_layout",
// 오버라이드 가능한 변수
"$slider_box_size": [ 10, 13 ]
}
]
},
// ???/?? ??
"slider_bar_default": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_sliderbar_enabled|default": false,
// 가로/세로 크기
"size": [ "100% + 12px", 15 ],
// 사용할 이미지 경로
"texture": "",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_localui_sliderbar_enabled",
// 오버라이드 가능한 변수
"$background_control": "rainbowpie_ui_common.slider_background",
// 오버라이드 가능한 변수
"$progress_control": "rainbowpie_ui_common.slider_progress"
}
]
},
// ???/?? ??
"slider_bar_hover": {
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_localui_sliderbar_enabled",
// 오버라이드 가능한 변수
"$background_control": "rainbowpie_ui_common.slider_background_hover",
// 오버라이드 가능한 변수
"$progress_control": "rainbowpie_ui_common.slider_progress_hover"
}
]
},
// ???/?? ??
"scroll_view_control": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_scrollbar_enabled|default": false,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_localui_scrollbar_enabled",
// FIX: Vanilla Dropdown background
// "$scroll_background_image_control": "rainbowpie_ui_controls.scroll_background_image",
"$scroll_track_image_control": "rainbowpie_ui_controls.scroll_indent_image",
// 오버라이드 가능한 변수
"$scroll_box_mouse_image_control": "rainbowpie_ui_controls.scrollbar_box_image"
}
]
},
// ???/?? ??
"scroll_box/box/mouse_box": {
// 완전히 제거(공간도 없음)
"ignored": false
},
// ???/?? ??
"scroll_box/box/touch_box": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"scrolling_panel/scroll_touch": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"scrolling_panel/scroll_mouse": {
// 완전히 제거(공간도 없음)
"ignored": false
},
// ???/?? ??
"safe_zone_stack/top_outer_control": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_modified"
},
// ???/?? ??
"safe_zone_stack/top_inner_control": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_modified"
},
// ???/?? ??
"safe_zone_stack/header_bar": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_modified"
},
// "safezone_inner_matrix/outer_top/top_side_control": {
// "ignored": "$rainbowpie_localui_modified"
// },
// "safezone_inner_matrix/inner_top/top_side_control": {
// "ignored": "$rainbowpie_localui_modified"
// },
"screen_exit_animation_push_offset": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_modified"
},
// ???/?? ??
"screen_exit_animation_pop_offset": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_modified"
},
// ???/?? ??
"screen_entrance_animation_push_offset": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_modified"
},
// ???/?? ??
"screen_entrance_animation_pop_offset": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_modified"
},
// ???/?? ??
"base_screen/variables_button_mappings_and_controls/safezone_screen_matrix": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_backup_screen",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content|default": "$screen_content"
},
// ???/?? ??
"base_screen/loading_bars_background": {
// 사용할 이미지 경로
"texture": "",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// ???/?? ??
"background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_home + '/r_white')",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_dialog_background_alpha",
// 가로/세로 크기
"size": [ "100%", 30 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"loading_bars@rainbowpie_ui_common.progress_loading_bars": {
// 가로/세로 크기
"size": [ "100% - 16px", 3 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 30
}
}
]
}
}
]
}
]
},
// ???/?? ??
"base_screen/loading_bars_background/loading_bars": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"base_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified|default": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_backup_screen|default": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_overlay_screen|default": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_inventory_screen|default": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_ingameSafezoneOnly|default": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_ingamebg_ignored|default": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_background_animations|default": [
"@common.screen_exit_animation_push_fade",
"@common.screen_exit_animation_pop_fade",
"@common.screen_entrance_animation_push_fade",
"@common.screen_entrance_animation_pop_fade"
],
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "null",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias_formatted": "($rainbowpie_localui_screen_alias + ',')",
// 오버라이드 가능한 변수
"$rainbowpie_localui_backup_screen_content|default": "common.base_screen_empty_panel",
// 오버라이드 가능한 변수
"$rainbowpie_localui_overlay_screen_content|default": "common.base_screen_empty_panel",
// 오버라이드 가능한 변수
"$close_on_player_hurt": false,
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// ???/?? ??
"screen_extra_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$rainbowpie_localui_background_bsf_need|default": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_background_longer_anim|default": false,
// 이 안에 들어가는 부품 목록
"controls": [
// Fix that blank screen when switching screens
{
// 다른 템플릿을 가져와서 확장(상속)
"background_backup@common.safezone_outer_matrix": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenroot_ignore_dialogs": true,
// 완전히 제거(공간도 없음)
"ignored": "((not $is_pregame) or (not $rainbowpie_localui_background_bsf_need) or $rainbowpie_localui_inventory_screen)",
// ???
"alpha": 0.0,
// 겹치는 순서(숫자 클수록 위)
"layer": -10,
"propagate_alpha": true,
"animation_reset_name": "screen_animation_reset",
"disable_anim_fast_forward": false,
// 애니메이션 목록
"anims": [
"@rainbowpie_ui_animations.background_exit_animation_push_fade",
"@rainbowpie_ui_animations.background_exit_animation_pop_fade",
"@rainbowpie_ui_animations.background_entrance_animation_push_fade_long",
"@rainbowpie_ui_animations.background_entrance_animation_push_fade",
"@rainbowpie_ui_animations.background_entrance_animation_pop_fade"
],
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": "rainbowpie_ui_common.screen_background"
}
}
]
}
}
]
}
]
},
// ???/?? ??
"screen_panel/root_screen_panel": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"screen_panel": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenroot_ignore_dialogs|default": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content|default": "$screen_content",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// ???/?? ??
"screen_debug_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_debug)",
// 겹치는 순서(숫자 클수록 위)
"layer": 1000,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"debug_screen_content@rainbowpie_ui_common.text_label": {
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_debug_screen_content) or (not (($rainbowpie_ui_flag_overlay_screen_alias - $rainbowpie_localui_screen_alias_formatted) = $rainbowpie_ui_flag_overlay_screen_alias)) or ($rainbowpie_localui_screen_content = 'rainbowpie_ui_common.screen_background'))",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 보여줄 글자
"text": "($screen_content + '\n' + $rainbowpie_localui_backup_screen_content + '\n' + $rainbowpie_localui_overlay_screen_content)"
}
}
]
}
},
{
// ???/?? ??
"rainbowpie_gamepad_connect_tip": {
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_feature_gamepad_connect_tip) or (not (($rainbowpie_ui_flag_overlay_screen_alias - $rainbowpie_localui_screen_alias_formatted) = $rainbowpie_ui_flag_overlay_screen_alias)) or ($rainbowpie_localui_screen_content = 'rainbowpie_ui_common.screen_background') or $game_pad)",
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_toast_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_toast_background_alpha",
// 가로/세로 크기
"size": [ 180, 30 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 22 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 80,
// 애니메이션 목록
"anims": [
// "@rainbowpie_ui_common.rainbowpie_gamepad_connect_tip_anim_start"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"section_icon": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 사용할 이미지 경로
"texture": "($rainbowpie_ui_path_theme + '/icon/settings/controls/controller')",
// 가로/세로 크기
"size": [ "100%y", "100% - 4px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"title@rainbowpie_ui_common.text_label_notheme": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [ 30, 2 ],
// 보여줄 글자
"text": "rainbowpie.ui.toast.gamepad_connected"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_using_gamepad",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{ "rainbowpieui_root_screen_panel@$rainbowpie_localui_screen_content": {} }
]
}
]
},
// ???/?? ??
"screen_panel/popup_dialog_factory": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_screenroot_ignore_dialogs",
// ???/?? ??
"factory_variables": [
"$rainbowpie_ui_theme_global_font_name",
"$rainbowpie_ui_theme_global_font_backup_name",
"$is_pregame"
]
},
// ???/?? ??
"base_screen/variables_button_mappings_and_controls/bg_no_safezone_screen_panel": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_modified"
},
// ???/?? ??
"base_screen/variables_button_mappings_and_controls/screen_background": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_localui_modified"
},
// ???/?? ??
"base_screen/variables_button_mappings_and_controls": {
// Compatibility for servers or other resource packs
// The variables here will be overwritten when the server loads the resource packs.
"$is_zeqa|default": -1, // Zeqa Network (Server)
// 오버라이드 가능한 변수
"$cubecraft_green|default": -1, // CubeCraft (Server)
// 오버라이드 가능한 변수
"$bb_version|default": -1, // Better Bedrock UI (RP)
// 오버라이드 가능한 변수
"$dabuui_bool|default": -1, // Dabu UI (RP)
// 오버라이드 가능한 변수
"$is_netease|default": -1, // China Version
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "variables",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 이 조건이 맞으면 적용
"requires": "($screen_content = 'common.base_screen_empty_panel')",
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true
},
// Zeqa Network
{
// 이 조건이 맞으면 적용
"requires": "(not ($is_zeqa = -1))",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_identifier": "78239b75_zeqa"
},
// CubeCraft
// In CubeCraft's UI resource pack, $cubecraft_green will be overwritten as an array format, which will not be equal to "string"
{
// 이 조건이 맞으면 적용
"requires": "(not ($cubecraft_green = -1))",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_identifier": "d29f22ac_cubecraft"
},
// The Hive UI
// This method may result in false positives, but it is the only way to detect
{
// 이 조건이 맞으면 적용
"requires": "((($transition_time_push_size * 1000) = 150) and (($transition_time_pop_size * 1000) = 150) and (($transition_time_push * 1000) = 150) and (($transition_time_pop * 1000) = 150) and (($container_transition_time_push * 1000) = 150) and (($container_transition_time_pop * 1000) = 150))",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_identifier": "290b8fe4_hivebedrock"
},
// Better Bedrock UI
{
// 이 조건이 맞으면 적용
"requires": "(not ($bb_version = -1))",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_resourcepack_identifier": "d5e1b7c2_betterbedrock"
},
// Dabu UI
{
// 이 조건이 맞으면 적용
"requires": "(not ($dabuui_bool = -1))"//,
// "$rainbowpie_ui_flag_resourcepack_identifier": "c740985b_dabuui"
},
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_localui_modified and not $rainbowpie_localui_inventory_screen)",
// 오버라이드 가능한 변수
"$transition_time_push": "$rainbowpie_ui_animation_transition_time",
// 오버라이드 가능한 변수
"$transition_time_pop": "$rainbowpie_ui_animation_transition_time",
// 오버라이드 가능한 변수
"$transition_time_push_size": "$rainbowpie_ui_animation_transition_time",
// 오버라이드 가능한 변수
"$transition_time_pop_size": "$rainbowpie_ui_animation_transition_time",
// 오버라이드 가능한 변수
"$container_transition_time_push": "$rainbowpie_ui_animation_transition_time",
// 오버라이드 가능한 변수
"$container_transition_time_pop": "$rainbowpie_ui_animation_transition_time"
},
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_localui_modified and $rainbowpie_localui_inventory_screen and $rainbowpie_ui_flag_84df7492)",
// 오버라이드 가능한 변수
"$transition_time_push": "$rainbowpie_ui_animation_container_v2_transition_time",
// 오버라이드 가능한 변수
"$transition_time_pop": "$rainbowpie_ui_animation_container_v2_transition_time",
// 오버라이드 가능한 변수
"$transition_time_push_size": "$rainbowpie_ui_animation_container_v2_transition_time",
// 오버라이드 가능한 변수
"$transition_time_pop_size": "$rainbowpie_ui_animation_container_v2_transition_time",
// 오버라이드 가능한 변수
"$container_transition_time_push": "$rainbowpie_ui_animation_container_v2_transition_time",
// 오버라이드 가능한 변수
"$container_transition_time_pop": "$rainbowpie_ui_animation_container_v2_transition_time"
},
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_localui_modified and $rainbowpie_localui_inventory_screen and not $rainbowpie_ui_flag_84df7492)",
// 오버라이드 가능한 변수
"$transition_time_push": "$rainbowpie_ui_animation_container_transition_time",
// 오버라이드 가능한 변수
"$transition_time_pop": "$rainbowpie_ui_animation_container_transition_time",
// 오버라이드 가능한 변수
"$transition_time_push_size": "$rainbowpie_ui_animation_container_transition_time",
// 오버라이드 가능한 변수
"$transition_time_pop_size": "$rainbowpie_ui_animation_container_transition_time",
// 오버라이드 가능한 변수
"$container_transition_time_push": "$rainbowpie_ui_animation_container_transition_time",
// 오버라이드 가능한 변수
"$container_transition_time_pop": "$rainbowpie_ui_animation_container_transition_time"
}
]
},
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"safezone_screen_backup_matrix@common.safezone_outer_matrix": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": "$rainbowpie_localui_backup_screen_content",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_backup_screen)",
// 애니메이션 목록
"anims": "$screen_animations",
"animation_reset_name": "screen_animation_reset",
"propagate_alpha": true,
"disable_anim_fast_forward": true,
// 겹치는 순서(숫자 클수록 위)
"layer": "$safezone_screen_matrix_layer"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"safezone_screen_overlay_matrix@common.safezone_outer_matrix": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenroot_ignore_dialogs": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": "$rainbowpie_localui_overlay_screen_content",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_overlay_screen)",
// 애니메이션 목록
"anims": "$screen_animations",
"animation_reset_name": "screen_animation_reset",
"propagate_alpha": true,
"disable_anim_fast_forward": true,
// 겹치는 순서(숫자 클수록 위)
"layer": "($safezone_screen_matrix_layer + 150)"
}
}
]
},
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// ???/?? ??
"rainbowpieui_screen_background_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "((not (($rainbowpie_ui_flag_overlay_screen_alias - $rainbowpie_localui_screen_alias_formatted) = $rainbowpie_ui_flag_overlay_screen_alias)) or ($screen_content = 'rainbowpie_ui_common.screen_background'))",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dialog_ignored": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"debug_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_debug)",
// 겹치는 순서(숫자 클수록 위)
"layer": 1000,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"debug_screen_animation": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_debug_screen_animation) or (not (($rainbowpie_ui_flag_overlay_screen_alias - $rainbowpie_localui_screen_alias_formatted) = $rainbowpie_ui_flag_overlay_screen_alias)))",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"debug_screen_animation_dialog": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ 120, "100%c" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 14 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// ??? ??
"draggable": "both",
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_background@rainbowpie_ui_dialog.header_background": {
// 가로/세로 크기
"size": [ "100%", 23 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_dialog_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_dialog_background_alpha",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_label@rainbowpie_ui_common.title_label": {
// 가로/세로 크기
"size": [ "default", "default" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 보여줄 글자
"text": "SCREEN ANIMATION DEBUG",
// 겹치는 순서(숫자 클수록 위)
"layer": 10
}
}
]
}
},
{
// ???/?? ??
"content_panel": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_background@rainbowpie_ui_dialog.header_background": {
// 가로/세로 크기
"size": [ "100%", "100%c + 0.5px" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_animation_reset@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "screen_animation_reset",
// 오버라이드 가능한 변수
"$button_text": "screen_animation_reset",
// 가로/세로 크기
"size": [ 120, 18 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"screen.exit_push@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "screen.exit_push",
// 오버라이드 가능한 변수
"$button_text": "screen.exit_push",
// 가로/세로 크기
"size": [ 120, 18 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"screen.exit_pop@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "screen.exit_pop",
// 오버라이드 가능한 변수
"$button_text": "screen.exit_pop",
// 가로/세로 크기
"size": [ 120, 18 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"screen.entrance_push@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "screen.entrance_push",
// 오버라이드 가능한 변수
"$button_text": "screen.entrance_push",
// 가로/세로 크기
"size": [ 120, 18 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"screen.entrance_pop@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 오버라이드 가능한 변수
"$pressed_button_name": "screen.entrance_pop",
// 오버라이드 가능한 변수
"$button_text": "screen.entrance_pop",
// 가로/세로 크기
"size": [ 120, 18 ]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"rainbowpieui_screen_background@common.safezone_outer_matrix": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenroot_ignore_dialogs": true,
// 애니메이션 목록
"anims": "$rainbowpie_localui_background_animations",
"animation_reset_name": "screen_animation_reset",
"propagate_alpha": true,
"disable_anim_fast_forward": true,
// 겹치는 순서(숫자 클수록 위)
"layer": "($safezone_screen_matrix_layer - 10)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_content": "rainbowpie_ui_common.screen_background"
}
},
{
// ???/?? ??
"ingame_background_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_localui_screenbackground_ingameSafezoneOnly or $rainbowpie_localui_screenbackground_ingamebg_ignored or $rainbowpie_localui_inventory_screen or $is_pregame or not (($rainbowpie_ui_flag_overlay_screen_alias - $rainbowpie_localui_screen_alias_formatted) = $rainbowpie_ui_flag_overlay_screen_alias))",
// 애니메이션 목록
"anims": "$rainbowpie_localui_background_animations",
"animation_reset_name": "screen_animation_reset",
"propagate_alpha": true,
"disable_anim_fast_forward": true,
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"gradient_top": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "gradient_renderer",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_ingamebackground_gradient)",
// 가로/세로 크기
"size": [ "100%", 30 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
"color1": [ 0.0, 0.0, 0.0, 0.5 ],
"color2": [ 0.0, 0.0, 0.0, 0.0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// ???/?? ??
"design02_gradient_bottom": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "gradient_renderer",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_ingamebackground_gradient)",
// 가로/세로 크기
"size": [ "100%", 30 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
"color1": [ 0.0, 0.0, 0.0, 0.0 ],
"color2": [ 0.0, 0.0, 0.0, 0.5 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background@rainbowpie_ui_common.global_background": {
// 가로/세로 크기
"size": [ "100%", "100%" ]
}
}
]
}
},
{
// ???/?? ??
"inventory_background_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_localui_inventory_screen or $is_pregame)",
// 애니메이션 목록
"anims": "$rainbowpie_localui_background_animations",
"animation_reset_name": "screen_animation_reset",
"propagate_alpha": true,
"disable_anim_fast_forward": true,
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"gradient_top": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "gradient_renderer",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_inventorybackground_gradient)",
// 가로/세로 크기
"size": [ "100%", 30 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
"color1": [ 0.0, 0.0, 0.0, 0.5 ],
"color2": [ 0.0, 0.0, 0.0, 0.0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// ???/?? ??
"design02_gradient_bottom": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "gradient_renderer",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_inventorybackground_gradient)",
// 가로/세로 크기
"size": [ "100%", 30 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
"color1": [ 0.0, 0.0, 0.0, 0.0 ],
"color2": [ 0.0, 0.0, 0.0, 0.5 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"inventory_background@rainbowpie_ui_common.inventory_global_background": {
// 가로/세로 크기
"size": [ "100%", "100%" ]
}
}
]
}
}
]
}
}
]
},
{
// ?? ?? ??
"array_name": "variables",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_debug_ui_device_override = 'windows')",
// Windows variables
"$microsoft_os": true,
// 오버라이드 가능한 변수
"$build_platform_UWP": true,
// 오버라이드 가능한 변수
"$win10_edition": true,
// 오버라이드 가능한 변수
"$is_windows_10_mobile": false,
// 오버라이드 가능한 변수
"$is_win10_arm": false,
// Android variables
"$google_os": false,
// 오버라이드 가능한 변수
"$is_android": false,
// Apple variables
"$apple_os": false,
// 오버라이드 가능한 변수
"$ios": false,
// 오버라이드 가능한 변수
"$is_ios": false,
// 오버라이드 가능한 변수
"$osx_edition": false,
// 오버라이드 가능한 변수
"$apple_tv": false,
// Console variables
"$is_console": false,
// 오버라이드 가능한 변수
"$xbox_one": false,
// 오버라이드 가능한 변수
"$is_ps4": false,
// Other idk variables
"$nx_os": false,
// 오버라이드 가능한 변수
"$is_settopbox": false,
// 오버라이드 가능한 변수
"$fire_tv": false,
// 오버라이드 가능한 변수
"$is_mobile_vr": false,
// 오버라이드 가능한 변수
"$gear_vr": false,
// 오버라이드 가능한 변수
"$is_holographic": false
},
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_debug_ui_device_override = 'windows_arm')",
// Windows variables
"$microsoft_os": true,
// 오버라이드 가능한 변수
"$build_platform_UWP": true,
// 오버라이드 가능한 변수
"$win10_edition": true,
// 오버라이드 가능한 변수
"$is_windows_10_mobile": false,
// 오버라이드 가능한 변수
"$is_win10_arm": true,
// Android variables
"$google_os": false,
// 오버라이드 가능한 변수
"$is_android": false,
// Apple variables
"$apple_os": false,
// 오버라이드 가능한 변수
"$ios": false,
// 오버라이드 가능한 변수
"$is_ios": false,
// 오버라이드 가능한 변수
"$osx_edition": false,
// 오버라이드 가능한 변수
"$apple_tv": false,
// Console variables
"$is_console": false,
// 오버라이드 가능한 변수
"$xbox_one": false,
// 오버라이드 가능한 변수
"$is_ps4": false,
// Other idk variables
"$nx_os": false,
// 오버라이드 가능한 변수
"$is_settopbox": false,
// 오버라이드 가능한 변수
"$fire_tv": false,
// 오버라이드 가능한 변수
"$is_mobile_vr": false,
// 오버라이드 가능한 변수
"$gear_vr": false,
// 오버라이드 가능한 변수
"$is_holographic": false
},
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_debug_ui_device_override = 'windows_mobile')",
// Windows variables
"$microsoft_os": true,
// 오버라이드 가능한 변수
"$build_platform_UWP": true,
// 오버라이드 가능한 변수
"$win10_edition": true,
// 오버라이드 가능한 변수
"$is_windows_10_mobile": true,
// 오버라이드 가능한 변수
"$is_win10_arm": false,
// Android variables
"$google_os": false,
// 오버라이드 가능한 변수
"$is_android": false,
// Apple variables
"$apple_os": false,
// 오버라이드 가능한 변수
"$ios": false,
// 오버라이드 가능한 변수
"$is_ios": false,
// 오버라이드 가능한 변수
"$osx_edition": false,
// 오버라이드 가능한 변수
"$apple_tv": false,
// Console variables
"$is_console": false,
// 오버라이드 가능한 변수
"$xbox_one": false,
// 오버라이드 가능한 변수
"$is_ps4": false,
// Other idk variables
"$nx_os": false,
// 오버라이드 가능한 변수
"$is_settopbox": false,
// 오버라이드 가능한 변수
"$fire_tv": false,
// 오버라이드 가능한 변수
"$is_mobile_vr": false,
// 오버라이드 가능한 변수
"$gear_vr": false,
// 오버라이드 가능한 변수
"$is_holographic": false
},
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_debug_ui_device_override = 'android')",
// Windows variables
"$microsoft_os": false,
// 오버라이드 가능한 변수
"$build_platform_UWP": false,
// 오버라이드 가능한 변수
"$win10_edition": false,
// 오버라이드 가능한 변수
"$is_windows_10_mobile": false,
// 오버라이드 가능한 변수
"$is_win10_arm": false,
// Android variables
"$google_os": true,
// 오버라이드 가능한 변수
"$is_android": true,
// Apple variables
"$apple_os": false,
// 오버라이드 가능한 변수
"$ios": false,
// 오버라이드 가능한 변수
"$is_ios": false,
// 오버라이드 가능한 변수
"$osx_edition": false,
// 오버라이드 가능한 변수
"$apple_tv": false,
// Console variables
"$is_console": false,
// 오버라이드 가능한 변수
"$xbox_one": false,
// 오버라이드 가능한 변수
"$is_ps4": false,
// Other idk variables
"$nx_os": false,
// 오버라이드 가능한 변수
"$is_settopbox": false,
// 오버라이드 가능한 변수
"$fire_tv": false,
// 오버라이드 가능한 변수
"$is_mobile_vr": false,
// 오버라이드 가능한 변수
"$gear_vr": false,
// 오버라이드 가능한 변수
"$is_holographic": false
},
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_debug_ui_device_override = 'apple_ios')",
// Windows variables
"$microsoft_os": false,
// 오버라이드 가능한 변수
"$build_platform_UWP": false,
// 오버라이드 가능한 변수
"$win10_edition": false,
// 오버라이드 가능한 변수
"$is_windows_10_mobile": false,
// 오버라이드 가능한 변수
"$is_win10_arm": false,
// Android variables
"$google_os": false,
// 오버라이드 가능한 변수
"$is_android": false,
// Apple variables
"$apple_os": true,
// 오버라이드 가능한 변수
"$ios": true,
// 오버라이드 가능한 변수
"$is_ios": true,
// 오버라이드 가능한 변수
"$osx_edition": false,
// 오버라이드 가능한 변수
"$apple_tv": false,
// Console variables
"$is_console": false,
// 오버라이드 가능한 변수
"$xbox_one": false,
// 오버라이드 가능한 변수
"$is_ps4": false,
// Other idk variables
"$nx_os": false,
// 오버라이드 가능한 변수
"$is_settopbox": false,
// 오버라이드 가능한 변수
"$fire_tv": false,
// 오버라이드 가능한 변수
"$is_mobile_vr": false,
// 오버라이드 가능한 변수
"$gear_vr": false,
// 오버라이드 가능한 변수
"$is_holographic": false
},
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_debug_ui_device_override = 'apple_osx')",
// Windows variables
"$microsoft_os": false,
// 오버라이드 가능한 변수
"$build_platform_UWP": false,
// 오버라이드 가능한 변수
"$win10_edition": false,
// 오버라이드 가능한 변수
"$is_windows_10_mobile": false,
// 오버라이드 가능한 변수
"$is_win10_arm": false,
// Android variables
"$google_os": false,
// 오버라이드 가능한 변수
"$is_android": false,
// Apple variables
"$apple_os": true,
// 오버라이드 가능한 변수
"$ios": false,
// 오버라이드 가능한 변수
"$is_ios": false,
// 오버라이드 가능한 변수
"$osx_edition": true,
// 오버라이드 가능한 변수
"$apple_tv": false,
// Console variables
"$is_console": false,
// 오버라이드 가능한 변수
"$xbox_one": false,
// 오버라이드 가능한 변수
"$is_ps4": false,
// Other idk variables
"$nx_os": false,
// 오버라이드 가능한 변수
"$is_settopbox": false,
// 오버라이드 가능한 변수
"$fire_tv": false,
// 오버라이드 가능한 변수
"$is_mobile_vr": false,
// 오버라이드 가능한 변수
"$gear_vr": false,
// 오버라이드 가능한 변수
"$is_holographic": false
},
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_debug_ui_device_override = 'apple_tv')",
// Windows variables
"$microsoft_os": false,
// 오버라이드 가능한 변수
"$build_platform_UWP": false,
// 오버라이드 가능한 변수
"$win10_edition": false,
// 오버라이드 가능한 변수
"$is_windows_10_mobile": false,
// 오버라이드 가능한 변수
"$is_win10_arm": false,
// Android variables
"$google_os": false,
// 오버라이드 가능한 변수
"$is_android": false,
// Apple variables
"$apple_os": true,
// 오버라이드 가능한 변수
"$ios": false,
// 오버라이드 가능한 변수
"$is_ios": false,
// 오버라이드 가능한 변수
"$osx_edition": false,
// 오버라이드 가능한 변수
"$apple_tv": true,
// Console variables
"$is_console": false,
// 오버라이드 가능한 변수
"$xbox_one": false,
// 오버라이드 가능한 변수
"$is_ps4": false,
// Other idk variables
"$nx_os": false,
// 오버라이드 가능한 변수
"$is_settopbox": false,
// 오버라이드 가능한 변수
"$fire_tv": false,
// 오버라이드 가능한 변수
"$is_mobile_vr": false,
// 오버라이드 가능한 변수
"$gear_vr": false,
// 오버라이드 가능한 변수
"$is_holographic": false
},
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_debug_ui_device_override = 'console')",
// Windows variables
"$microsoft_os": false,
// 오버라이드 가능한 변수
"$build_platform_UWP": false,
// 오버라이드 가능한 변수
"$win10_edition": false,
// 오버라이드 가능한 변수
"$is_windows_10_mobile": false,
// 오버라이드 가능한 변수
"$is_win10_arm": false,
// Android variables
"$google_os": false,
// 오버라이드 가능한 변수
"$is_android": false,
// Apple variables
"$apple_os": false,
// 오버라이드 가능한 변수
"$ios": false,
// 오버라이드 가능한 변수
"$is_ios": false,
// 오버라이드 가능한 변수
"$osx_edition": false,
// 오버라이드 가능한 변수
"$apple_tv": false,
// Console variables
"$is_console": true,
// 오버라이드 가능한 변수
"$xbox_one": false,
// 오버라이드 가능한 변수
"$is_ps4": false,
// Other idk variables
"$nx_os": false,
// 오버라이드 가능한 변수
"$is_settopbox": false,
// 오버라이드 가능한 변수
"$fire_tv": false,
// 오버라이드 가능한 변수
"$is_mobile_vr": false,
// 오버라이드 가능한 변수
"$gear_vr": false,
// 오버라이드 가능한 변수
"$is_holographic": false
},
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_debug_ui_device_override = 'console_xboxone')",
// Windows variables
"$microsoft_os": true,
// 오버라이드 가능한 변수
"$build_platform_UWP": false,
// 오버라이드 가능한 변수
"$win10_edition": true,
// 오버라이드 가능한 변수
"$is_windows_10_mobile": false,
// 오버라이드 가능한 변수
"$is_win10_arm": false,
// Android variables
"$google_os": false,
// 오버라이드 가능한 변수
"$is_android": false,
// Apple variables
"$apple_os": false,
// 오버라이드 가능한 변수
"$ios": false,
// 오버라이드 가능한 변수
"$is_ios": false,
// 오버라이드 가능한 변수
"$osx_edition": false,
// 오버라이드 가능한 변수
"$apple_tv": false,
// Console variables
"$is_console": true,
// 오버라이드 가능한 변수
"$xbox_one": true,
// 오버라이드 가능한 변수
"$is_ps4": false,
// Other idk variables
"$nx_os": false,
// 오버라이드 가능한 변수
"$is_settopbox": false,
// 오버라이드 가능한 변수
"$fire_tv": false,
// 오버라이드 가능한 변수
"$is_mobile_vr": false,
// 오버라이드 가능한 변수
"$gear_vr": false,
// 오버라이드 가능한 변수
"$is_holographic": false
},
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_debug_ui_device_override = 'console_ps4')",
// Windows variables
"$microsoft_os": false,
// 오버라이드 가능한 변수
"$build_platform_UWP": false,
// 오버라이드 가능한 변수
"$win10_edition": false,
// 오버라이드 가능한 변수
"$is_windows_10_mobile": false,
// 오버라이드 가능한 변수
"$is_win10_arm": false,
// Android variables
"$google_os": false,
// 오버라이드 가능한 변수
"$is_android": false,
// Apple variables
"$apple_os": false,
// 오버라이드 가능한 변수
"$ios": false,
// 오버라이드 가능한 변수
"$is_ios": false,
// 오버라이드 가능한 변수
"$osx_edition": false,
// 오버라이드 가능한 변수
"$apple_tv": false,
// Console variables
"$is_console": true,
// 오버라이드 가능한 변수
"$xbox_one": false,
// 오버라이드 가능한 변수
"$is_ps4": true,
// Other idk variables
"$nx_os": false,
// 오버라이드 가능한 변수
"$is_settopbox": false,
// 오버라이드 가능한 변수
"$fire_tv": false,
// 오버라이드 가능한 변수
"$is_mobile_vr": false,
// 오버라이드 가능한 변수
"$gear_vr": false,
// 오버라이드 가능한 변수
"$is_holographic": false
},
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_debug_ui_input_override = 'touch')",
// 오버라이드 가능한 변수
"$touch": true,
// 오버라이드 가능한 변수
"$mouse": false,
// 오버라이드 가능한 변수
"$game_pad": false
},
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_debug_ui_input_override = 'mouse')",
// 오버라이드 가능한 변수
"$touch": false,
// 오버라이드 가능한 변수
"$mouse": true,
// 오버라이드 가능한 변수
"$game_pad": false
},
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_debug_ui_input_override = 'game_pad')",
// 오버라이드 가능한 변수
"$touch": false,
// 오버라이드 가능한 변수
"$mouse": false,
// 오버라이드 가능한 변수
"$game_pad": true
},
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_debug_ui_debug",
// 오버라이드 가능한 변수
"$debug_settings": true,
// 오버라이드 가능한 변수
"$is_publish": false
},
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_debug_ui_var_override",
// 오버라이드 가능한 변수
"$file_picking_supported": "$rainbowpie_ui_debug_ui_var_override_file_picking_supported",
// 오버라이드 가능한 변수
"$world_archive_support": "$rainbowpie_ui_debug_ui_var_override_world_archive_support",
// 오버라이드 가능한 변수
"$is_low_memory_device": "$rainbowpie_ui_debug_ui_var_override_is_low_memory_device",
// 오버라이드 가능한 변수
"$pre_release": "$rainbowpie_ui_debug_ui_var_override_pre_release",
// 오버라이드 가능한 변수
"$trial": "$rainbowpie_ui_debug_ui_var_override_trial",
// 오버라이드 가능한 변수
"$is_publish": "$rainbowpie_ui_debug_ui_var_override_is_publish",
// 오버라이드 가능한 변수
"$education_edition": "$rainbowpie_ui_debug_ui_var_override_education_edition"
},
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_disable_spatial_pattern_fix",
// 오버라이드 가능한 변수
"$settings_spatial_pattern_fix_enabled": false
},
// 对部分不同的场景优化
{
// 이 조건이 맞으면 적용
"requires": "$is_low_memory_device",
// 오버라이드 가능한 변수
"$rainbowpie_ui_feature_background_mask": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_feature_background_blur": false
},
{
// 이 조건이 맞으면 적용
"requires": "(($is_android or $is_ios) and $rainbowpie_ui_flag_86c54726)",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_86c54726": false
},
{
// 이 조건이 맞으면 적용
"requires": "(($rainbowpie_localui_screen_alias = 'server_form') and $game_pad)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_backup_screen": false
},
{
// 이 조건이 맞으면 적용
"requires": "$touch",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_5e1f3f4e": false
},
// Force use Rainbow Pie UI style server_form
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_flag_server_form_force and ($rainbowpie_localui_screen_alias = 'server_form'))",
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_server_form.main_screen_content",
// 오버라이드 가능한 변수
"$screen_animations": [
"@common.screen_exit_animation_push_offset",
"@common.screen_exit_animation_pop_offset",
"@common.screen_entrance_animation_push_offset",
"@common.screen_entrance_animation_pop_offset",
"@common.screen_exit_animation_push_fade",
"@common.screen_exit_animation_pop_fade",
"@common.screen_entrance_animation_push_fade",
"@common.screen_entrance_animation_pop_fade"
],
// 오버라이드 가능한 변수
"$background_animations": [
"@common.screen_exit_animation_push_alpha",
"@common.screen_exit_animation_pop_alpha",
"@common.screen_entrance_animation_push_alpha",
"@common.screen_entrance_animation_pop_alpha"
]
},
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_debug_ui_new_video_settings",
// 오버라이드 가능한 변수
"$new_video_settings": true
},
// settings ui
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_localui_screen_alias = 'settings')",
// 오버라이드 가능한 변수
"$export_template_disabled": false
},
// Force disable rainbowpie_ui_flag_hud_hotbar_mode 2
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_flag_hud_hotbar_mode = 2)",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_hud_hotbar_mode": 1
},
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_flag_hud_hotbar_mode > 3)",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_hud_hotbar_mode": 0
},
{
// 이 조건이 맞으면 적용
"requires": "(($rainbowpie_localui_screen_alias = 'hud') and (not ($screen_content = 'hud.hud_content')))",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_hud_hotbar_mode": 0,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_6d2ac350": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_0ffd0593": false
},
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_flag_111d8c96 and not $mouse)",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_111d8c96": false
},
{
// 이 조건이 맞으면 적용
"requires": "(not $rainbowpie_ui_flag_8dcce82d)",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_8dcce82d": true
},
// Zeqa Network
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_flag_server_identifier = '78239b75_zeqa')",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_identifier": "78239b75_zeqa",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_displayname": "Zeqa Network",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_notification_features_disabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_notification_features_disabled_reason": "server",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_infomation_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_infomation_logo_name": "zeqa",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_infomation_server_name": "Zeqa Network",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_infomation_link_website": "http://store.zeqa.net",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_infomation_description": "©Zeqa Network",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_custom_server_icon": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_custom_server_icon_name": "zeqa",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_56cd0456": true, // PauseUI Back To Vanilla Button
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_scoreboard_default_font": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_hudbossname_default_font": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_moduleflag_inventory_actions_drop_all_item_enabled": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_module_chest_fastpick": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_chatui_default_font": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_hudtitle_default_font": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_19efcc11": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_9ce040c1": false
},
// CubeCraft
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_flag_server_identifier = 'd29f22ac_cubecraft')",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_identifier": "d29f22ac_cubecraft",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_displayname": "CubeCraft Games",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_notification_features_disabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_notification_features_disabled_reason": "server",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_infomation_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_infomation_logo_name": "cubecraft",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_infomation_server_name": "CubeCraft",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_infomation_link_website": "https://cubecraft.net",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_infomation_link_support": "https://help.cubecraft.net",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_infomation_description": "© ZIAX LTD 2025",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_custom_server_icon": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_custom_server_icon_name": "cubecraft",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_scoreboard_default_font": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_module_chest_fastpick": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_moduleflag_inventory_actions_drop_all_item_enabled": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_19efcc11": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_9ce040c1": false
},
// The Hive
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_flag_server_identifier = '290b8fe4_hivebedrock')",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_identifier": "290b8fe4_hivebedrock",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_displayname": "The Hive",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_notification_features_disabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_notification_features_disabled_reason": "server",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_infomation_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_infomation_logo_name": "hivebedrock",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_infomation_server_name": "The Hive",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_infomation_link_website": "https://playhive.com",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_infomation_link_support": "https://support.playhive.com",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_server_infomation_description": "Hive Games © 2025",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_custom_server_icon": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_custom_server_icon_name": "hivebedrock",
// 오버라이드 가능한 변수
"$rainbowpie_ui_module_chest_fastpick": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_19efcc11": false,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_9ce040c1": false
},
// Better Bedrock UI
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_flag_resourcepack_identifier = 'd5e1b7c2_betterbedrock')",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_resourcepack_identifier": "d5e1b7c2_betterbedrock",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_resourcepack_displayname": "Better Bedrock UI",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_notification_features_disabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_notification_features_disabled_reason": "resourcepack"
},
{
// 이 조건이 맞으면 적용
"requires": "(($rainbowpie_ui_flag_resourcepack_identifier = 'd5e1b7c2_betterbedrock') and $rainbowpie_ui_compatibility_var_override_d5e1b7c2)",
// 오버라이드 가능한 변수
"$cps_counter_x_offset": 0,
// 오버라이드 가능한 변수
"$cps_counter_y_offset": 6,
// 오버라이드 가능한 변수
"$day_time_viewer_x_offset": 0,
// 오버라이드 가능한 변수
"$day_time_viewer_y_offset": 2,
// 오버라이드 가능한 변수
"$speed_counter_x_offset": 0,
// 오버라이드 가능한 변수
"$speed_counter_y_offset": 4,
// 오버라이드 가능한 변수
"$tab_list": false,
// 오버라이드 가능한 변수
"$durability_viewer": false,
// 오버라이드 가능한 변수
"$crosshair_item_count": false,
// 오버라이드 가능한 변수
"$session_timer_x_offset": 0,
// 오버라이드 가능한 변수
"$session_timer_y_offset": 0,
// 오버라이드 가능한 변수
"$chat": false,
// 오버라이드 가능한 변수
"$coords": false,
// 오버라이드 가능한 변수
"$nether_coords_x_offset": 0,
// 오버라이드 가능한 변수
"$nether_coords_y_offset": 4,
// 오버라이드 가능한 변수
"$days_played": false
},
{
// 이 조건이 맞으면 적용
"requires": "(($rainbowpie_ui_flag_resourcepack_identifier = 'd5e1b7c2_betterbedrock') and (not ($rainbowpie_ui_flag_hud_hotbar_mode = 0)))",
// 오버라이드 가능한 변수
"$editor_hotbars_show_default_layout": false,
// 오버라이드 가능한 변수
"$editor_hotbar_elements_icons_and_factories_vertical_padding_size": 14,
// 오버라이드 가능한 변수
"$editor_hotbar_elements_xp_bar_show_element": false
},
{
// 이 조건이 맞으면 적용
"requires": "(($rainbowpie_ui_flag_resourcepack_identifier = 'd5e1b7c2_betterbedrock') and ($screen_content = 'hud.hud_content'))",
// 오버라이드 가능한 변수
"$use_loading_bars": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_watermark": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "hud",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias_formatted": "hud,"
},
{
// 이 조건이 맞으면 적용
"requires": "(($rainbowpie_ui_flag_resourcepack_identifier = 'd5e1b7c2_betterbedrock') and ($screen_content = 'bb_pause.main'))",
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "pause",
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_ingamebg_ignored": true
},
// Dabu UI
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_flag_resourcepack_identifier = 'c740985b_dabuui')",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_resourcepack_identifier": "c740985b_dabuui",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_resourcepack_displayname": "护眼大补丸"
},
// China Version
{
// 이 조건이 맞으면 적용
"requires": "($rainbowpie_ui_flag_resourcepack_identifier = '5c1c3f14_netease')",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_resourcepack_identifier": "5c1c3f14_netease",
// 오버라이드 가능한 변수
"$rainbowpie_ui_flag_resourcepack_displayname": "Netease",
// 오버라이드 가능한 변수
"$rainbowpie_ui_theme_global_font_name": "unicode"
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: ui_template_tabs.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "common_tabs",
// ???/?? ??
"base_tab": {
// 오버라이드 가능한 변수
"$rainbowpie_toggle_text_unchecked_default_color|default": "$rainbowpie_ui_theme_toggle_text_default_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_text_unchecked_hover_color|default": "$rainbowpie_ui_theme_toggle_text_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_text_unchecked_locked_color|default": "$rainbowpie_ui_theme_toggle_text_locked_checked_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_text_checked_default_color|default": "$rainbowpie_ui_theme_toggle_text_checked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_text_checked_hover_color|default": "$rainbowpie_ui_theme_toggle_text_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_text_checked_locked_color|default": "$rainbowpie_ui_theme_toggle_text_locked_checked_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_color|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_locked_color|default": "$rainbowpie_ui_theme_toggle_background_locked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_color|default": "$rainbowpie_ui_theme_toggle_background_checked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_color|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_locked_color|default": "$rainbowpie_ui_theme_toggle_background_locked_checked_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_default_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_default_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_hover_alpha|default": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_unchecked_locked_alpha|default": "$rainbowpie_ui_theme_toggle_background_locked_default_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_default_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_default_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_hover_alpha|default": "$rainbowpie_ui_theme_toggle_background_checked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_checked_locked_alpha|default": "$rainbowpie_ui_theme_toggle_background_locked_checked_alpha"
},
// ???/?? ??
"base_tab/$tab_view_binding_name/unchecked": {
// 오버라이드 가능한 변수
"$rainbowpie_toggle_color": "$rainbowpie_toggle_unchecked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_alpha": "$rainbowpie_toggle_unchecked_default_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_color": "$rainbowpie_toggle_text_unchecked_default_color"
},
// ???/?? ??
"base_tab/$tab_view_binding_name/unchecked_hover": {
// 오버라이드 가능한 변수
"$rainbowpie_toggle_color": "$rainbowpie_toggle_unchecked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_alpha": "$rainbowpie_toggle_unchecked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_color": "$rainbowpie_toggle_text_unchecked_hover_color",
// 오버라이드 가능한 변수
"$hover_state": true
},
// ???/?? ??
"base_tab/$tab_view_binding_name/unchecked_locked": {
// 오버라이드 가능한 변수
"$rainbowpie_toggle_color": "$rainbowpie_toggle_unchecked_locked_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_alpha": "$rainbowpie_toggle_unchecked_locked_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_color": "$rainbowpie_toggle_text_unchecked_locked_color"
},
// ???/?? ??
"base_tab/$tab_view_binding_name/unchecked_locked_hover": {
// 오버라이드 가능한 변수
"$rainbowpie_toggle_color": "$rainbowpie_toggle_unchecked_locked_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_alpha": "$rainbowpie_toggle_unchecked_locked_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_color": "$rainbowpie_toggle_text_unchecked_locked_color",
// 오버라이드 가능한 변수
"$hover_state": true
},
// ???/?? ??
"base_tab/$tab_view_binding_name/checked": {
// 오버라이드 가능한 변수
"$rainbowpie_toggle_color": "$rainbowpie_toggle_checked_default_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_alpha": "$rainbowpie_toggle_checked_default_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_color": "$rainbowpie_toggle_text_checked_default_color"
},
// ???/?? ??
"base_tab/$tab_view_binding_name/checked_hover": {
// 오버라이드 가능한 변수
"$rainbowpie_toggle_color": "$rainbowpie_toggle_checked_hover_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_alpha": "$rainbowpie_toggle_checked_hover_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_color": "$rainbowpie_toggle_text_checked_hover_color",
// 오버라이드 가능한 변수
"$hover_state": true
},
// ???/?? ??
"base_tab/$tab_view_binding_name/checked_locked": {
// 오버라이드 가능한 변수
"$rainbowpie_toggle_color": "$rainbowpie_toggle_checked_locked_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_alpha": "$rainbowpie_toggle_checked_locked_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_color": "$rainbowpie_toggle_text_checked_locked_color"
},
// ???/?? ??
"base_tab/$tab_view_binding_name/checked_locked_hover": {
// 오버라이드 가능한 변수
"$rainbowpie_toggle_color": "$rainbowpie_toggle_checked_locked_color",
// 오버라이드 가능한 변수
"$rainbowpie_toggle_alpha": "$rainbowpie_toggle_checked_locked_alpha",
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_color": "$rainbowpie_toggle_text_checked_locked_color",
// 오버라이드 가능한 변수
"$hover_state": true
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: win10_trial_conversion_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "win10_trial_conversion"
}
필요한 부분만 참고해서 가져가세요.
// 예제: world_templates_screen.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "world_templates",
// ???/?? ??
"world_templates_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "world_templates",
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_world_templates.world_templates_picker_content"
},
// ???/?? ??
"generate_random_button": {
// 가로/세로 크기
"size": [ "100%", "100%c" ]
},
// ???/?? ??
"world_template_screen_content_stack_panel/generate_random_button_bottom_padding": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"world_list_grids_stack/template_list_panel/template_bottom_padding": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"world_list_grids_stack/store_panel/store_grids/realms_plus_list_panel/realms_plus_template_bottom_padding": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"world_list_grids_stack/store_panel/store_grids/suggested_content_panel/suggested_template_bottom_padding": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"world_list_grids_stack/custom_template_panel/custom_template_list_bottom_padding": {
// "ignored": true
},
// ???/?? ??
"world_list_grids_stack/realms_info_panel/padding": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"world_list_grids_stack/store_panel/store_grids/suggested_content_panel/suggested_content_offers_title_label": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"world_list_grids_stack/store_panel/store_grids/suggested_content_panel": {
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "suggested_content_offers_title_label",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"suggested_content_offers_title@rainbowpieui_world_templates.list_title": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_list_title_text": "$section_header",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #realms_info_visible)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
]
},
// ???/?? ??
"label_content_template": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"list_title@rainbowpieui_world_templates.list_title": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_list_title_text": "$label_content_label"
}
}
]
},
// ???/?? ??
"world_list_grids_stack/store_panel/store_grids/realms_plus_list_panel/realms_plus_label_panel": {
},
// ???/?? ??
"realms_plus_template_item/realms_plus_template_item_button": {
// 가로/세로 크기
"size": [ "fill", "100%" ]
},
// ???/?? ??
"world_template_item/world_template_item_button": {
// 가로/세로 크기
"size": [ "fill", "100%" ]
},
// ???/?? ??
"see_more_templates_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"world_template_item_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"realms_plus_template_item_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"help_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"generate_random": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: xbl_friend_finder.json
// 분류: 기본 UI 모음 2 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "xbl_friend_finder",
// ???/?? ??
"progress_loading/progress_loading_outline": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"message_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"main_panel/searching_profile_panel": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha"
},
// ???/?? ??
"text_edit_panel/text_edit_box": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_editbox_enabled": true
},
// ???/?? ??
"main_panel/find_friends_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"xbl_friend_finder": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screenbackground_blur": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "xbl_friend_finder",
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_xbl_friend_finder.xbl_friend_finder_screen_content"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: mintui_background.json
// 분류: 기본 UI 모음 2 / MintUI
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "mintui_background",
// ???/?? ??
"background_fullscreen": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$background_mask|default": false,
// 완전히 제거(공간도 없음)
"ignored": "(not $is_pregame)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"image_background_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"gradient_top": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "gradient_renderer",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_screenbackground_gradient)",
// 가로/세로 크기
"size": [ "100%", 30 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
"color1": [ 0.0, 0.0, 0.0, 0.5 ],
"color2": [ 0.0, 0.0, 0.0, 0.0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// ???/?? ??
"design02_gradient_bottom": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "gradient_renderer",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_screenbackground_gradient)",
// 가로/세로 크기
"size": [ "100%", 30 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
"color1": [ 0.0, 0.0, 0.0, 0.0 ],
"color2": [ 0.0, 0.0, 0.0, 0.5 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// ???/?? ??
"image_background": {
// 이미지 표시
"type": "image",
"fill": true,
"allow_debug_missing_texture": false,
"force_texture_reload": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 사용할 이미지 경로
"texture": "$rainbowpie_ui_theme_background_texture",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
},
{
// ???/?? ??
"image_mask": {
// 이미지 표시
"type": "image",
// 보이기/숨기기(공간 유지)
"visible": "($background_mask and $rainbowpie_ui_flag_bg_mask)",
"fill": true,
"allow_debug_missing_texture": false,
"force_texture_reload": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 사용할 이미지 경로
"texture": "$rainbowpie_ui_theme_background_mask_texture",
// 겹치는 순서(숫자 클수록 위)
"layer": 3
}
}
]
},
// ???/?? ??
"background_blur_fullscreen": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$background_mask|default": false,
// 완전히 제거(공간도 없음)
"ignored": "(not $is_pregame)",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"image_background_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"gradient_top": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "gradient_renderer",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_screenbackground_gradient)",
// 가로/세로 크기
"size": [ "100%", 30 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
"color1": [ 0.0, 0.0, 0.0, 0.5 ],
"color2": [ 0.0, 0.0, 0.0, 0.0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// ???/?? ??
"design02_gradient_bottom": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "gradient_renderer",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_screenbackground_gradient)",
// 가로/세로 크기
"size": [ "100%", 30 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
"color1": [ 0.0, 0.0, 0.0, 0.0 ],
"color2": [ 0.0, 0.0, 0.0, 0.5 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// ???/?? ??
"image_background": {
// 이미지 표시
"type": "image",
"fill": true,
"allow_debug_missing_texture": false,
"force_texture_reload": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 사용할 이미지 경로
"texture": "$rainbowpie_ui_theme_background_blur_texture",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
},
{
// ???/?? ??
"image_noise": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_a3a3e4ee)",
// 이미지 표시
"type": "image",
// 이미지 반복 여부
"tiled": true,
// ?? ??
"tiled_scale": [ 0.10, 0.10 ],
"allow_debug_missing_texture": false,
"force_texture_reload": true,
// ???
"alpha": 0.025,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 사용할 이미지 경로
"texture": "$rainbowpie_ui_theme_background_noise_texture",
// 겹치는 순서(숫자 클수록 위)
"layer": 3
}
},
{
// ???/?? ??
"image_mask": {
// 이미지 표시
"type": "image",
// 보이기/숨기기(공간 유지)
"visible": "($background_mask and $rainbowpie_ui_flag_bg_mask)",
"fill": true,
"allow_debug_missing_texture": false,
"force_texture_reload": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 사용할 이미지 경로
"texture": "$rainbowpie_ui_theme_background_mask_texture",
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}
}
]
},
// ???/?? ??
"background": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$background_mask|default": false,
// 오버라이드 가능한 변수
"$background_ingame|default": false,
// 오버라이드 가능한 변수
"$background_layer|default": 1,
// 오버라이드 가능한 변수
"$background_offset|default": [],
// 오버라이드 가능한 변수
"$background_children_offset|default": [],
// 오버라이드 가능한 변수
"$background_anim_reset|default": "screen_animation_reset",
// 오버라이드 가능한 변수
"$background_anims|default": [],
// 오버라이드 가능한 변수
"$background_children_anim_reset|default": "screen_animation_reset",
// 오버라이드 가능한 변수
"$background_children_anims|default": [],
// 오버라이드 가능한 변수
"$background_size|default": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$background_children_size|default": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$background_anchor|default": "center",
// 오버라이드 가능한 변수
"$background_children_anchor|default": "center",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"background_panel_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "((not $is_pregame) and (not $background_ingame))",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": "$background_offset",
// 기준점(어디에서 시작할지)
"anchor_from": "$background_anchor",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$background_anchor",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 오버라이드 가능한 변수
"$background_blur|default": "$rainbowpie_ui_theme_background_blur_texture",
// 오버라이드 가능한 변수
"$background_normal|default": "$rainbowpie_ui_theme_background_texture",
"animation_reset_name": "$background_anim_reset",
// 애니메이션 목록
"anims": "$background_anims",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"image_background_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 보이기/숨기기(공간 유지)
"visible": "$rainbowpie_ui_feature_background_blur",
// 가로/세로 크기
"size": "$background_children_size",
// 기준점에서 이동하는 거리
"offset": "$background_children_offset",
// 기준점(어디에서 시작할지)
"anchor_from": "$background_children_anchor",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$background_children_anchor",
// 겹치는 순서(숫자 클수록 위)
"layer": "($background_layer + 1)",
"animation_reset_name": "$background_children_anim_reset",
// 애니메이션 목록
"anims": "$background_children_anims",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"gradient_top": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "gradient_renderer",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_screenbackground_gradient)",
// 가로/세로 크기
"size": [ "100%", 30 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
"color1": [ 0.0, 0.0, 0.0, 0.5 ],
"color2": [ 0.0, 0.0, 0.0, 0.0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// ???/?? ??
"design02_gradient_bottom": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "gradient_renderer",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_screenbackground_gradient)",
// 가로/세로 크기
"size": [ "100%", 30 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
"color1": [ 0.0, 0.0, 0.0, 0.0 ],
"color2": [ 0.0, 0.0, 0.0, 0.5 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// ???/?? ??
"image_background": {
// 이미지 표시
"type": "image",
"fill": true,
"allow_debug_missing_texture": false,
"force_texture_reload": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 사용할 이미지 경로
"texture": "$background_normal",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
},
{
// ???/?? ??
"image_mask": {
// 이미지 표시
"type": "image",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_feature_background_mask)",
// 보이기/숨기기(공간 유지)
"visible": "($background_mask and $rainbowpie_ui_flag_bg_mask)",
"fill": true,
"allow_debug_missing_texture": false,
"force_texture_reload": true,
// 가로/세로 크기
"size": "$background_children_size",
// 기준점에서 이동하는 거리
"offset": "$background_children_offset",
// 기준점(어디에서 시작할지)
"anchor_from": "$background_children_anchor",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$background_children_anchor",
// 사용할 이미지 경로
"texture": "$rainbowpie_ui_theme_background_mask_texture",
// 겹치는 순서(숫자 클수록 위)
"layer": "($background_layer + 2)",
"animation_reset_name": "$background_children_anim_reset",
// 애니메이션 목록
"anims": "$background_children_anims"
}
}
]
}
}
]
},
// ???/?? ??
"background_blur": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$background_mask|default": true,
// 오버라이드 가능한 변수
"$background_ingame|default": false,
// 오버라이드 가능한 변수
"$background_layer|default": 1,
// 오버라이드 가능한 변수
"$background_offset|default": [],
// 오버라이드 가능한 변수
"$background_children_offset|default": [],
// 오버라이드 가능한 변수
"$background_anim_reset|default": "screen_animation_reset",
// 오버라이드 가능한 변수
"$background_anims|default": [],
// 오버라이드 가능한 변수
"$background_children_anim_reset|default": "screen_animation_reset",
// 오버라이드 가능한 변수
"$background_children_anims|default": [],
// 오버라이드 가능한 변수
"$background_size|default": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$background_children_size|default": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$background_anchor|default": "center",
// 오버라이드 가능한 변수
"$background_children_anchor|default": "center",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"background_panel_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "((not $is_pregame) and (not $background_ingame))",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": "$background_size",
// 기준점에서 이동하는 거리
"offset": "$background_offset",
// 기준점(어디에서 시작할지)
"anchor_from": "$background_anchor",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$background_anchor",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 오버라이드 가능한 변수
"$background_blur|default": "$rainbowpie_ui_theme_background_blur_texture",
// 오버라이드 가능한 변수
"$background_normal|default": "$rainbowpie_ui_theme_background_texture",
"animation_reset_name": "$background_anim_reset",
// 애니메이션 목록
"anims": "$background_anims",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"image_background_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 보이기/숨기기(공간 유지)
"visible": "$rainbowpie_ui_feature_background_blur",
// 가로/세로 크기
"size": "$background_children_size",
// 기준점에서 이동하는 거리
"offset": "$background_children_offset",
// 기준점(어디에서 시작할지)
"anchor_from": "$background_children_anchor",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$background_children_anchor",
// 겹치는 순서(숫자 클수록 위)
"layer": "($background_layer + 1)",
"animation_reset_name": "$background_children_anim_reset",
// 애니메이션 목록
"anims": "$background_children_anims",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"gradient_top": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "gradient_renderer",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_screenbackground_gradient)",
// 가로/세로 크기
"size": [ "100%", 30 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
"color1": [ 0.0, 0.0, 0.0, 0.5 ],
"color2": [ 0.0, 0.0, 0.0, 0.0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// ???/?? ??
"design02_gradient_bottom": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "gradient_renderer",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_screenbackground_gradient)",
// 가로/세로 크기
"size": [ "100%", 30 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
"color1": [ 0.0, 0.0, 0.0, 0.0 ],
"color2": [ 0.0, 0.0, 0.0, 0.5 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// ???/?? ??
"image_background": {
// 이미지 표시
"type": "image",
"fill": true,
"allow_debug_missing_texture": false,
"force_texture_reload": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 사용할 이미지 경로
"texture": "$background_blur",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]
}
},
{
// ???/?? ??
"image_mask": {
// 이미지 표시
"type": "image",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_feature_background_mask)",
// 보이기/숨기기(공간 유지)
"visible": "($background_mask and $rainbowpie_ui_flag_bg_mask)",
"fill": true,
"allow_debug_missing_texture": false,
"force_texture_reload": true,
// 가로/세로 크기
"size": "$background_children_size",
// 기준점에서 이동하는 거리
"offset": "$background_children_offset",
// 기준점(어디에서 시작할지)
"anchor_from": "$background_children_anchor",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$background_children_anchor",
// 사용할 이미지 경로
"texture": "$rainbowpie_ui_theme_background_mask_texture",
// 겹치는 순서(숫자 클수록 위)
"layer": "($background_layer + 3)",
"animation_reset_name": "$background_children_anim_reset",
// 애니메이션 목록
"anims": "$background_children_anims"
}
},
{
// ???/?? ??
"image_noise": {
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_a3a3e4ee)",
// 이미지 표시
"type": "image",
// 이미지 반복 여부
"tiled": true,
// ?? ??
"tiled_scale": [ 0.10, 0.10 ],
"allow_debug_missing_texture": false,
"force_texture_reload": true,
// ???
"alpha": 0.025,
// 가로/세로 크기
"size": "$background_children_size",
// 기준점에서 이동하는 거리
"offset": "$background_children_offset",
// 기준점(어디에서 시작할지)
"anchor_from": "$background_children_anchor",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$background_children_anchor",
// 사용할 이미지 경로
"texture": "$rainbowpie_ui_theme_background_noise_texture",
// 겹치는 순서(숫자 클수록 위)
"layer": "($background_layer + 2)",
"animation_reset_name": "$background_children_anim_reset",
// 애니메이션 목록
"anims": "$background_children_anims"
}
}
]
}
}
]
},
// ???/?? ??
"background_mask": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$background_layer|default": 1,
// 오버라이드 가능한 변수
"$background_offset|default": [],
// 오버라이드 가능한 변수
"$background_children_offset|default": [],
// 오버라이드 가능한 변수
"$background_anim_reset|default": "screen_animation_reset",
// 오버라이드 가능한 변수
"$background_anims|default": [],
// 오버라이드 가능한 변수
"$background_children_anim_reset|default": "screen_animation_reset",
// 오버라이드 가능한 변수
"$background_children_anims|default": [],
// 오버라이드 가능한 변수
"$background_size|default": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$background_children_size|default": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$background_anchor|default": "center",
// 오버라이드 가능한 변수
"$background_children_anchor|default": "center",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"background_panel_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_flag_bg_mask_ingame or $is_pregame)",
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점에서 이동하는 거리
"offset": "$background_offset",
// 기준점(어디에서 시작할지)
"anchor_from": "$background_anchor",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$background_anchor",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
"animation_reset_name": "$background_anim_reset",
// 애니메이션 목록
"anims": "$background_anims",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"image_mask": {
// 이미지 표시
"type": "image",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_feature_background_mask)",
// 보이기/숨기기(공간 유지)
"visible": "$rainbowpie_ui_flag_bg_mask",
"fill": true,
"allow_debug_missing_texture": false,
"force_texture_reload": true,
// 가로/세로 크기
"size": "$background_children_size",
// 기준점에서 이동하는 거리
"offset": "$background_children_offset",
// 기준점(어디에서 시작할지)
"anchor_from": "$background_children_anchor",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$background_children_anchor",
// 사용할 이미지 경로
"texture": "$rainbowpie_ui_theme_background_mask_texture_ingame",
// 겹치는 순서(숫자 클수록 위)
"layer": "($background_layer + 3)",
"animation_reset_name": "$background_children_anim_reset",
// 애니메이션 목록
"anims": "$background_children_anims"
}
},
{
// ???/?? ??
"image_noise": {
// 완전히 제거(공간도 없음)
"ignored": "((not $rainbowpie_ui_flag_a3a3e4ee) or (not $rainbowpie_ui_flag_1dc354bd))",
// 이미지 표시
"type": "image",
// 이미지 반복 여부
"tiled": true,
// ?? ??
"tiled_scale": [ 0.10, 0.10 ],
"allow_debug_missing_texture": false,
"force_texture_reload": true,
// ???
"alpha": 0.025,
// 가로/세로 크기
"size": "$background_children_size",
// 기준점에서 이동하는 거리
"offset": "$background_children_offset",
// 기준점(어디에서 시작할지)
"anchor_from": "$background_children_anchor",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$background_children_anchor",
// 사용할 이미지 경로
"texture": "$rainbowpie_ui_theme_background_noise_texture",
// 겹치는 순서(숫자 클수록 위)
"layer": "($background_layer + 2)",
"animation_reset_name": "$background_children_anim_reset",
// 애니메이션 목록
"anims": "$background_children_anims"
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: controls_section.json
// 분류: 기본 UI 모음 2 / settings sections
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "controls_section",
// Remove this when mojang fix delayed_block_breaking on using Joystick & aim crosshair control mode
"touch_section/common_touch_settings/option_creative_delayed_block_breaking": {
// 게임 값과 연결하는 규칙 목록
"bindings": []
},
// ???/?? ??
"touch_section/common_touch_settings/joystick_visibility_dropdown": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#joystick_visibility_visible",
// 오버라이드 가능한 변수
"$radio_label_text": "options.joystickVisibilityOption.visibleJoystick"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#joystick_visibility_hidden",
// 오버라이드 가능한 변수
"$radio_label_text": "options.joystickVisibilityOption.hiddenJoystick"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#joystick_visibility_hidden_when_unused",
// 오버라이드 가능한 변수
"$radio_label_text": "options.joystickVisibilityOption.hiddenJoystickWhenUnused"
}
}
]
},
// ???/?? ??
"touch_section/common_touch_settings/sneak_dropdown": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#sneak_toggle",
// 오버라이드 가능한 변수
"$radio_label_text": "options.sneakOption.toggle"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#sneak_hold",
// 오버라이드 가능한 변수
"$radio_label_text": "options.sneakOption.hold"
}
}
]
},
// ???/?? ??
"gamepad_mapping_item/keymapping_button_1": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"gamepad_mapping_item": {
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "keymapping_button_0",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// ???/?? ??
"padding_button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"keymapping_button_reset@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 가로/세로 크기
"size": [ "15% + 1px", "100% - 4px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 오버라이드 가능한 변수
"$button_content": "controls_section.arrow_reset",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.reset_binding",
// 오버라이드 가능한 변수
"$button_tts_header": "accessibility.settings.reset",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$keymapping_collection"
}
]
}
}
]
}
]
},
// ???/?? ??
"image_binding_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"image_binding_button_content/default_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"gamepad_mapping_item/option_info_label_control": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha"
},
// ???/?? ??
"gamepad_mapping_item/option_info_label_control/keymapping_label_control": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color"
},
// ???/?? ??
"binding_button_content/default_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"keymapping_item/keymapping_button_1": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"keymapping_item": {
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "keymapping_button_0",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// ???/?? ??
"padding_button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"keymapping_button_reset@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 가로/세로 크기
"size": [ "15% + 1px", "100% - 4px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 오버라이드 가능한 변수
"$button_content": "controls_section.arrow_reset",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.reset_binding",
// 오버라이드 가능한 변수
"$button_tts_header": "accessibility.settings.reset",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$keymapping_collection"
}
]
}
}
]
}
]
},
// ???/?? ??
"binding_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"keymapping_item/option_info_label_control": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha"
},
// ???/?? ??
"keymapping_item/option_info_label_control/keymapping_label_control": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color"
},
// ???/?? ??
"controller_section/option_toggle_4": {
// 완전히 제거(공간도 없음)
"ignored": false
},
// ???/?? ??
"keyboard_and_mouse_button": {
// 오버라이드 가능한 변수
"$icon_group_name": "controls",
// 오버라이드 가능한 변수
"$icon_texture_name": "keyboard_and_mouse"
},
// ???/?? ??
"controller_button": {
// 오버라이드 가능한 변수
"$icon_group_name": "controls",
// 오버라이드 가능한 변수
"$icon_texture_name": "controller"
},
// ???/?? ??
"touch_button": {
// 오버라이드 가능한 변수
"$icon_group_name": "controls",
// 오버라이드 가능한 변수
"$icon_texture_name": "touch"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: general_section.json
// 분류: 기본 UI 모음 2 / settings sections
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "general_section",
// ???/?? ??
"max_framerate_slider": {
// 게임 값과 연결하는 규칙 목록
"bindings": []
},
// ???/?? ??
"general_tab_section/treatment_ids_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color"
},
// ???/?? ??
"general_tab_section/ecomode_label_header": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color"
},
// ???/?? ??
"general_tab_section/pause_label_header": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color"
},
// ???/?? ??
"diagnostics_toggles_panel/primary_panel/heading": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color"
},
// ???/?? ??
"advanced_graphics_options_section/upscaling_mode": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#upscaling_mode_radio_taau",
// 오버라이드 가능한 변수
"$radio_label_text": "options.upscalingModeOptions.taau"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#upscaling_mode_radio_bilinear",
// 오버라이드 가능한 변수
"$radio_label_text": "options.upscalingModeOptions.bilinear"
}
}
]
},
// ???/?? ??
"device_info_toggles_panel/device_info_memory_tier_dropdown": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"memory_tier_superLow@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#memory_tier_superLow",
// 오버라이드 가능한 변수
"$radio_label_text": "options.creator.deviceInfoMemoryTier.superLow"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"memory_tier_low@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#memory_tier_low",
// 오버라이드 가능한 변수
"$radio_label_text": "options.creator.deviceInfoMemoryTier.low"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"memory_tier_mid@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#memory_tier_mid",
// 오버라이드 가능한 변수
"$radio_label_text": "options.creator.deviceInfoMemoryTier.mid"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"memory_tier_high@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#memory_tier_high",
// 오버라이드 가능한 변수
"$radio_label_text": "options.creator.deviceInfoMemoryTier.high"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"memory_tier_superHigh@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#memory_tier_superHigh",
// 오버라이드 가능한 변수
"$radio_label_text": "options.creator.deviceInfoMemoryTier.superHigh"
}
}
]
},
// ???/?? ??
"device_info_toggles_panel/primary_panel/heading": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color"
},
// ???/?? ??
"content_log_panel/option_content_log_gui_level": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#content_log_gui_level_info",
// 오버라이드 가능한 변수
"$radio_label_text": "options.content_log_gui.level.info"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#content_log_gui_level_warn",
// 오버라이드 가능한 변수
"$radio_label_text": "options.content_log_gui.level.warn"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#content_log_gui_level_error",
// 오버라이드 가능한 변수
"$radio_label_text": "options.content_log_gui.level.error"
}
}
]
},
// ???/?? ??
"watchdog_toggles_panel/primary_panel/heading": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color"
},
// ???/?? ??
"advanced_graphics_options_button_content": {
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "advanced_graphics_options_label",
// ?? ??
"operation": "insert_before",
// ??? ?
"value": [
{
// ???/?? ??
"advanced_graphics_options_label_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%" ],
"max_size": [ "75%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"advanced_graphics_options_label@rainbowpie_ui_common.text_label": {
// 보여줄 글자
"text": "#graphics_mode_toggle_label",
// ?? (R,G,B,A)
"color": "$text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#graphics_mode_toggle_label"
}
]
}
}
]
}
}
]
}
]
},
// ???/?? ??
"advanced_graphics_options_button_content/advanced_graphics_options_label": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"video_section/render_distance_slider": {
},
// ???/?? ??
"debugger_toggles_panel/primary_panel/all_options_panel/attach_mode_option": {
},
// ???/?? ??
"debugger_toggles_panel/primary_panel/heading": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color"
},
// ???/?? ??
"general_tab_section/auto_update_mode_dropdown": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"off@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#auto_update_mode_off",
// 오버라이드 가능한 변수
"$radio_label_text": "options.autoUpdateMode.off"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"wifi@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#auto_update_mode_on_wifi_only",
// 오버라이드 가능한 변수
"$radio_label_text": "options.autoUpdateMode.on.withWifiOnly"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"cellular@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#auto_update_mode_on_with_cellular",
// 오버라이드 가능한 변수
"$radio_label_text": "options.autoUpdateMode.on.withCellular"
}
}
]
},
// ???/?? ??
"video_section/advanced_graphics_options_panel/advanced_graphics_options_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 2px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button"
},
// ???/?? ??
"video_section/advanced_graphics_options_panel/graphics_mode": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#graphics_mode_radio_simple",
// 오버라이드 가능한 변수
"$radio_label_text": "options.graphicsMode.simple"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#graphics_mode_radio_fancy",
// 오버라이드 가능한 변수
"$radio_label_text": "options.graphicsMode.fancy"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#graphics_mode_radio_deferred",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#graphics_mode_radio_deferred_enabled",
// 오버라이드 가능한 변수
"$radio_label_text": "options.graphicsMode.deferred"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#graphics_mode_radio_ray_traced",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#graphics_mode_radio_ray_traced_enabled",
// 오버라이드 가능한 변수
"$radio_label_text": "options.graphicsMode.rayTraced"
}
}
]
},
// ???/?? ??
"chat_message_duration_info_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"chat_message_duration_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"toast_notification_duration_info_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"toast_notification_duration_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"glint_speed_slider_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"glint_strength_slider_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"darkness_slider_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"view_subscriptions_section/loading_subscriptions_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"view_subscriptions_section/failed_loading_subscriptions_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"realms_subscription_panel/middle_panel/renews_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"realms_subscription_stack/info/realms_desc_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"possible_store_mismatch/panel_content/label_panel/name_label2": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"consumable_not_extendable/panel_content/label_panel/name_label2": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"content_log_panel/content_log_location_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"content_log_panel/content_log_location_label_header": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"content_log_panel/content_log_section_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"creator_toggles_panel/copy_coordinate_section_stack_panel/content_log_section_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"editor_toggle_panel/editor_confirmation_panel/editor_confirmation_section_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"editor_toggle_panel/editor_confirmation_panel/editor_active_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"gamertag_controls/gamertag_label/panel_gamertag/gamertag_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"gamertag_controls/gamertag_label/panel_descriptor/label_descriptor": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"signin_subscription/sign_in/please_signin_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"account_section/account_info_buttom/account_info_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"switch_accounts_panel/name_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"sign_out_button_content/padded_label/label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"switch_accounts_button_content/padded_label/label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"view_account_errors_button_content": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"general_tab_section/build_info_label_panel/build_info_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ]
},
// ???/?? ??
"general_tab_section/third_party_copyright_info_label_panel/copyright_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"general_tab_section/licenses_label_header": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"general_tab_section/network_label_header": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"language_grid_item": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_radio_enabled": true
},
// ???/?? ??
"language_section/language_list_grid": {
// 오버라이드 가능한 변수
"$language_grid_item_template": "general_section.language_grid_item",
"grid_item_template": "$language_grid_item_template",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_flag_79f6bcad",
// 오버라이드 가능한 변수
"$language_grid_item_template": "rainbowpieui_general_section.worldtown_language_grid_item"
}
]
},
// ???/?? ??
"video_section/ui_profile_dropdown": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#ui_profile_radio_classic",
// 오버라이드 가능한 변수
"$radio_label_text": "options.uiprofile.classic"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#ui_profile_radio_pocket",
// 오버라이드 가능한 변수
"$radio_label_text": "options.uiprofile.pocket"
}
}
]
},
// ???/?? ??
"upscaling_toggle": {
// 오버라이드 가능한 변수
"$option_label": "NVIDIA DLSS"
},
// ???/?? ??
"video_section/perspective_dropdown": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#thirdperson_radio_first",
// 오버라이드 가능한 변수
"$radio_label_text": "options.thirdperson.firstperson"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#thirdperson_radio_third_back",
// 오버라이드 가능한 변수
"$radio_label_text": "options.thirdperson.thirdpersonback"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#thirdperson_radio_third_front",
// 오버라이드 가능한 변수
"$radio_label_text": "options.thirdperson.thirdpersonfront"
}
}
]
},
// ???/?? ??
"accessibility_section/toast_notification_duration_options_panel/toast_notification_duration_dropdown": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#notification_duration_radio_ThreeSec",
// 오버라이드 가능한 변수
"$radio_label_text": "options.notificationDuration.toast.ThreeSec"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#notification_duration_radio_TenSec",
// 오버라이드 가능한 변수
"$radio_label_text": "options.notificationDuration.toast.TenSec"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#notification_duration_radio_ThirtySec",
// 오버라이드 가능한 변수
"$radio_label_text": "options.notificationDuration.toast.ThirtySec"
}
}
]
},
// ???/?? ??
"accessibility_section/chat_message_duration_options_panel/chat_message_duration_dropdown": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#chat_message_duration_radio_ThreeSec",
// 오버라이드 가능한 변수
"$radio_label_text": "options.notificationDuration.toast.ThreeSec"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#chat_message_duration_radio_TenSec",
// 오버라이드 가능한 변수
"$radio_label_text": "options.notificationDuration.toast.TenSec"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#chat_message_duration_radio_ThirtySec",
// 오버라이드 가능한 변수
"$radio_label_text": "options.notificationDuration.toast.ThirtySec"
}
}
]
},
// ???/?? ??
"general_button": {
// 오버라이드 가능한 변수
"$icon_group_name": "general",
// 오버라이드 가능한 변수
"$icon_texture_name": "general"
},
// ???/?? ??
"general_tab_section": {
// 오버라이드 가능한 변수
"$spatialPatternsPadding": [ 0, 0 ],
// 오버라이드 가능한 변수
"$paddingLineDivider": [ 0, 0 ]
},
// ???/?? ??
"account_button": {
// 오버라이드 가능한 변수
"$icon_group_name": "general",
// 오버라이드 가능한 변수
"$icon_texture_name": "profile",
// 오버라이드 가능한 변수
"$spatialPatternsPadding": [ 0, 0 ],
// 오버라이드 가능한 변수
"$paddingLineDivider": [ 0, 0 ]
},
// ???/?? ??
"global_texture_pack_button": {
// 오버라이드 가능한 변수
"$state_collection_name": "#selected_pack_items_global"
},
// ???/?? ??
"global_texture_pack_section": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_type": "global",
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_search_box_control": "global_rp_search_text_box_display_text",
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_search_box_placeholder": "rainbowpie.ui.resource_packs.search.placeholder.resource"
},
// ???/?? ??
"storage_management_button": {
// 오버라이드 가능한 변수
"$icon_group_name": "general",
// 오버라이드 가능한 변수
"$icon_texture_name": "storageIcon"
},
// ???/?? ??
"creator_button": {
// 오버라이드 가능한 변수
"$icon_group_name": "general",
// 오버라이드 가능한 변수
"$icon_texture_name": "creator"
},
// ???/?? ??
"video_button": {
// 오버라이드 가능한 변수
"$icon_group_name": "general",
// 오버라이드 가능한 변수
"$icon_texture_name": "video"
},
// ???/?? ??
"view_subscriptions_button": {
// 오버라이드 가능한 변수
"$icon_group_name": "general",
// 오버라이드 가능한 변수
"$icon_texture_name": "subscription"
},
// ???/?? ??
"accessibility_button": {
// 오버라이드 가능한 변수
"$icon_group_name": "general",
// 오버라이드 가능한 변수
"$icon_texture_name": "accessibility"
},
// ???/?? ??
"sound_button": {
// 오버라이드 가능한 변수
"$icon_group_name": "general",
// 오버라이드 가능한 변수
"$icon_texture_name": "sound"
},
// ???/?? ??
"sound_section": {
// 오버라이드 가능한 변수
"$spatialPatternsPadding": [ "100%", 14 ],
// 오버라이드 가능한 변수
"$audioSlidersSize": [ "100% - 2px", 16 ]
},
// ???/?? ??
"language_button": {
// 오버라이드 가능한 변수
"$icon_group_name": "general",
// 오버라이드 가능한 변수
"$icon_texture_name": "language"
},
// ???/?? ??
"how_to_play_button": {
// 오버라이드 가능한 변수
"$icon_group_name": "general",
// 오버라이드 가능한 변수
"$icon_texture_name": "how_to_play"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: settings_common.json
// 분류: 기본 UI 모음 2 / settings sections
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "settings_common",
// ???/?? ??
"option_radio_dropdown_group": {
// 가로/세로 크기
"size": [ "100%", "100%c" ]
},
// ???/?? ??
"white_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color"
},
// ???/?? ??
"option_text_edit_control_with_text_button/button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 2px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button"
},
// ???/?? ??
"option_text_edit_control_with_button": {
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "text_box",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"light_content_button@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 2px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_content_button",
// 오버라이드 가능한 변수
"$button_content": "settings_common.arrow_image",
// 가로/세로 크기
"size": [ "fill", "100%" ]
}
}
]
}
]
},
// ???/?? ??
"option_text_edit_control_with_button/button": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"option_info_label_with_image": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_background_color",
// ???
"alpha": "$rainbowpie_ui_theme_text_background_alpha"
},
// ???/?? ??
"option_info_label_with_image/control": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name",
// ?? (R,G,B,A)
"color": "$rainbowpie_ui_theme_text_text_color"
},
// ???/?? ??
"radio_visuals/radio_label": {
// 기준점에서 이동하는 거리
"offset": [ 4, 0 ],
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"radio_visuals": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_background_color|default": [ 0.0, 1.0, 0.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_background_alpha|default": 1.0,
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_btbar_color|default": [ 1.0, 1.0, 0.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_btbar_alpha|default": 1.0,
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// ???/?? ??
"radio_btbar": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 완전히 제거(공간도 없음)
"ignored": "(not $selected and not $hovered)",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ 2, "100% + 1px" ],
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_this_btbar_color",
// ???
"alpha": "$rainbowpie_localui_this_btbar_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "((not $selected) and $hovered)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_btbar_color": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_btbar_alpha": "$rainbowpie_ui_theme_toggle_background_unchecked_hover_btbar_alpha"
},
{
// 이 조건이 맞으면 적용
"requires": "($selected and $hovered)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_btbar_color": "$rainbowpie_ui_theme_toggle_background_checked_hover_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_btbar_alpha": "$rainbowpie_ui_theme_toggle_background_checked_hover_btbar_alpha"
},
{
// 이 조건이 맞으면 적용
"requires": "($selected)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_btbar_color": "$rainbowpie_ui_theme_toggle_background_checked_default_btbar_color",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_btbar_alpha": "$rainbowpie_ui_theme_toggle_background_checked_default_btbar_alpha"
}
]
}
},
{
// ???/?? ??
"radio_background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%", "100% + 1px" ],
// 완전히 제거(공간도 없음)
"ignored": "(not $selected and not $hovered)",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ?? (R,G,B,A)
"color": "$rainbowpie_localui_this_background_color",
// ???
"alpha": "$rainbowpie_localui_this_background_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "((not $selected) and $hovered)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_background_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_background_alpha": 0.5
},
{
// 이 조건이 맞으면 적용
"requires": "($selected and $hovered)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_background_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_background_alpha": 0.4
},
{
// 이 조건이 맞으면 적용
"requires": "($selected)",
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_background_color": [ 0.011, 0.011, 0.011 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_this_background_alpha": 0.4
}
]
}
}
]
}
]
},
// ???/?? ??
"radio_visuals/accessibility_selection_highlight": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"radio_visuals/radio_image": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"radio_with_label_core": {
},
// ???/?? ??
"option_group_label/text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"options_dropdown_toggle_control": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_rainbowpiebutton_enabled|default": false,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_localui_dropdown_rainbowpiebutton_enabled",
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_locked",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_locked",
// 오버라이드 가능한 변수
"$default_chevron": "textures/ui/chevron_white_down"
}
]
},
// ???/?? ??
"options_dropdown_dark_toggle_control": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_rainbowpiebutton_enabled|default": false,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_localui_dropdown_rainbowpiebutton_enabled",
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_locked",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_locked",
// 오버라이드 가능한 변수
"$default_chevron": "textures/ui/chevron_white_down"
}
]
},
// ???/?? ??
"option_dropdown_control_no_scroll": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled|default": false,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_localui_dropdown_enabled",
// 오버라이드 가능한 변수
"$option_dropdown_size|default": [ "100%", 25 ],
// 오버라이드 가능한 변수
"$option_dropdown_type": "rainbowpie_ui_common.rainbowpie_ui_dropdown",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_type": "common.dropdown_no_scrollpanel"
}
]
},
// ???/?? ??
"option_dropdown_control": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled|default": false,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_localui_dropdown_enabled",
// 오버라이드 가능한 변수
"$option_dropdown_size|default": [ "100%", 25 ],
// 오버라이드 가능한 변수
"$option_dropdown_type": "rainbowpie_ui_common.rainbowpie_ui_dropdown",
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_type": "common.dropdown"
}
]
},
// ???/?? ??
"action_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "100%", 28 ]
},
// ???/?? ??
"link_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100% - 1px" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "100%", 28 ]
},
// ???/?? ??
"option_generic_core/two_line_layout/option_label_panel/option_label_subpanel_01/option_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"option_generic_core/two_line_layout/option_label_panel/option_label_subpanel_02/option_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"option_generic_core/two_line_layout/option_descriptive_text_0": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"option_generic_core/one_line_layout/option_label_subpanel_01/option_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"option_generic_core/one_line_layout/option_label_subpanel_02/option_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"option_generic_core/one_line_layout/option_descriptive_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"option_toggle_control": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_toggle_enabled|default": false,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_localui_toggle_enabled",
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpieui_settings_common.rainbowpie_ui_option_toggle_off",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpieui_settings_common.rainbowpie_ui_option_toggle_on",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_option_toggle_off_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_option_toggle_on_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_option_toggle_off_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_option_toggle_off_locked",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_option_toggle_on_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_option_toggle_on_locked"
}
]
},
// ???/?? ??
"selector_group_label": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"toggle_button_control": {
// 오버라이드 가능한 변수
"$icon_theme_dir|default": "($rainbowpie_ui_path_theme + '/icon/settings')",
// 오버라이드 가능한 변수
"$icon_size|default": [ 15, 15 ],
// 오버라이드 가능한 변수
"$icon_texture_name|default": "null",
// 오버라이드 가능한 변수
"$icon_group_name|default": "null",
// 오버라이드 가능한 변수
"$icon_offset|default": [ 5, 0 ],
// 오버라이드 가능한 변수
"$icon_anchor_from|default": "left_middle",
// 오버라이드 가능한 변수
"$icon_anchor_to|default": "left_middle",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$rainbowpie_ui_feature_settings_themedIcon",
// 오버라이드 가능한 변수
"$button_label_offset|default": [ 28, 0 ]
}
],
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// ???/?? ??
"section_icon": {
// 이미지 표시
"type": "image",
// 완전히 제거(공간도 없음)
"ignored": "(not $rainbowpie_ui_feature_settings_themedIcon)",
// 기준점(어디에서 시작할지)
"anchor_from": "$icon_anchor_from",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$icon_anchor_to",
// 기준점에서 이동하는 거리
"offset": "$icon_offset",
// 사용할 이미지 경로
"texture": "($icon_theme_dir + '/' + $icon_group_name + '/' + $icon_texture_name)",
// 가로/세로 크기
"size": "$icon_size",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// ?? (R,G,B,A)
"color": "$text_color",
// ???
"alpha": 1
}
}
]
}
]
},
// ???/?? ??
"toggle_button_control/glyph": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_feature_settings_themedIcon"
},
// ???/?? ??
"toggle_button_control/glyph_color": {
// 완전히 제거(공간도 없음)
"ignored": "$rainbowpie_ui_feature_settings_themedIcon"
},
// ???/?? ??
"toggle_button_control/tab_button_text": {
// ??
"font_type": "$rainbowpie_ui_theme_global_font_name",
"backup_font_type": "$rainbowpie_ui_theme_global_font_backup_name"
},
// ???/?? ??
"scrollable_selector_area_content": {
// 기준점에서 이동하는 거리
"offset": [ 1, 1 ],
// 가로/세로 크기
"size": [ "100% - 2px", "100%c + 2px" ]
},
// ???/?? ??
"content_area": {
// 기준점에서 이동하는 거리
"offset": [ 0, 20 ],
// 가로/세로 크기
"size": [ "62%", "100% - 20px" ]
},
// ???/?? ??
"selector_area": {
// 기준점에서 이동하는 거리
"offset": [ 0, 20 ],
// 가로/세로 크기
"size": [ "38%", "100% - 20px" ]
},
// ???/?? ??
"selector_area/scrolling_panel": {
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 1, 0 ]
},
// ???/?? ??
"section_toggle_base": {
// 오버라이드 가능한 변수
"$unchecked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked",
// 오버라이드 가능한 변수
"$checked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked",
// 오버라이드 가능한 변수
"$unchecked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_hover",
// 오버라이드 가능한 변수
"$checked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_hover",
// 오버라이드 가능한 변수
"$unchecked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_locked",
// 오버라이드 가능한 변수
"$unchecked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_unchecked_locked",
// 오버라이드 가능한 변수
"$checked_locked_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_locked",
// 오버라이드 가능한 변수
"$checked_locked_hover_control": "rainbowpieui_settings_common.rainbowpie_ui_toggle_checked_locked",
// 가로/세로 크기
"size": [ "100%", "25px" ]
},
// ???/?? ??
"dynamic_dialog_screen": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_modified": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_screen_alias": "settings",
// 오버라이드 가능한 변수
"$rainbowpie_localui_overlay_screen": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_overlay_screen_content": "rainbowpieui_settings_common.settings_overlay_content",
// 오버라이드 가능한 변수
"$screen_content": "rainbowpieui_settings_common.settings_content",
// 오버라이드 가능한 변수
"$is_full_screen_layout": false
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: world_section.json
// 분류: 기본 UI 모음 2 / settings sections
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// VERSION: 2.11.10550.1 (v1.21.113)
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "world_section",
// ???/?? ??
"game_section/level_seed_selector": {
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#none"
},
// ???/?? ??
"game_section": {
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "world_cheats_label",
// ?? ??
"operation": "insert_before",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"education_settings_label@settings_common.option_group_label": {
// 오버라이드 가능한 변수
"$text": "Education Edition Settings",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$education_edition",
// 오버라이드 가능한 변수
"$font_type": "MinecraftTen",
// 오버라이드 가능한 변수
"$font_scale_factor": 1.2
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"perfect_weather@settings_common.option_toggle": {
// 오버라이드 가능한 변수
"$tts_section_header": "createWorldScreen.cheatSettings",
// 오버라이드 가능한 변수
"$option_label": "Perfect Weather",
// 오버라이드 가능한 변수
"$option_binding_name": "#perfect_weather",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#perfect_weather_enabled",
// 오버라이드 가능한 변수
"$toggle_name": "perfect_weather",
// 오버라이드 가능한 변수
"$focus_override_right": "FOCUS_OVERRIDE_STOP",
// 오버라이드 가능한 변수
"$toggle_binding_condition": "always_when_visible"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"immutable_world@settings_common.option_toggle": {
// 오버라이드 가능한 변수
"$tts_section_header": "createWorldScreen.cheatSettings",
// 오버라이드 가능한 변수
"$option_label": "Immutable World",
// 오버라이드 가능한 변수
"$option_binding_name": "#immutable_world",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#immutable_world_enabled",
// 오버라이드 가능한 변수
"$toggle_name": "immutable_world",
// 오버라이드 가능한 변수
"$focus_override_right": "FOCUS_OVERRIDE_STOP",
// 오버라이드 가능한 변수
"$toggle_binding_condition": "always_when_visible"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"show_border_effect@settings_common.option_toggle": {
// 완전히 제거(공간도 없음)
"ignored": true,
// 오버라이드 가능한 변수
"$tts_section_header": "createWorldScreen.cheatSettings",
// 오버라이드 가능한 변수
"$option_label": "createWorldScreen.showbordereffect",
// 오버라이드 가능한 변수
"$option_binding_name": "#show_border_effect",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#show_border_effect_enabled",
// 오버라이드 가능한 변수
"$toggle_name": "show_border_effect",
// 오버라이드 가능한 변수
"$focus_override_right": "FOCUS_OVERRIDE_STOP",
// 오버라이드 가능한 변수
"$toggle_binding_condition": "always_when_visible"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"player_damage@settings_common.option_toggle": {
// 오버라이드 가능한 변수
"$tts_section_header": "createWorldScreen.cheatSettings",
// 오버라이드 가능한 변수
"$option_label": "Player Damage",
// 오버라이드 가능한 변수
"$option_binding_name": "#player_damage",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#player_damage_enabled",
// 오버라이드 가능한 변수
"$toggle_name": "player_damage",
// 오버라이드 가능한 변수
"$focus_override_right": "FOCUS_OVERRIDE_STOP",
// 오버라이드 가능한 변수
"$toggle_binding_condition": "always_when_visible"
}
}
]
}
]
},
// ???/?? ??
"game_section/export_template_panel/template_version": {
// 완전히 제거(공간도 없음)
"ignored": false
},
// ???/?? ??
"game_section/export_template_panel/template_buttons": {
// 완전히 제거(공간도 없음)
"ignored": "(not $file_picking_supported)"
},
// ???/?? ??
"level_texture_pack_section": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_type": "texture",
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_search_box_control": "level_rp_search_text_box_display_text",
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_search_box_placeholder": "rainbowpie.ui.resource_packs.search.placeholder.resource"
},
// ???/?? ??
"addon_section": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_type": "addon",
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_search_box_control": "level_bp_search_text_box_display_text",
// 오버라이드 가능한 변수
"$rainbowpie_localui_resource_packs_search_box_placeholder": "rainbowpie.ui.resource_packs.search.placeholder.behavior"
},
// ???/?? ??
"game_section/option_dropdown_0": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"world_survival_mode_toggle@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#world_game_mode_radio_survival",
// 오버라이드 가능한 변수
"$radio_label_text": "createWorldScreen.gameMode.survival"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"world_creative_mode_toggle@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#world_game_mode_radio_creative",
// 오버라이드 가능한 변수
"$radio_label_text": "createWorldScreen.gameMode.creative"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"world_adventure_mode_toggle@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 완전히 제거(공간도 없음)
"ignored": "($is_world_create or $trial)",
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#world_game_mode_radio_adventure",
// 오버라이드 가능한 변수
"$radio_label_text": "createWorldScreen.gameMode.adventure"
}
}
]
},
// ???/?? ??
"game_section/option_dropdown_1": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"player_default_mode_toggle@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#player_game_mode_radio_default",
// 오버라이드 가능한 변수
"$radio_label_text": "createWorldScreen.gameMode.serverDefault"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"player_survival_mode_toggle@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#player_game_mode_radio_survival",
// 오버라이드 가능한 변수
"$radio_label_text": "createWorldScreen.gameMode.survival"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"player_creative_mode_toggle@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#player_game_mode_radio_creative",
// 오버라이드 가능한 변수
"$radio_label_text": "createWorldScreen.gameMode.creative"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"player_adventure_mode_toggle@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#player_game_mode_radio_adventure",
// 오버라이드 가능한 변수
"$radio_label_text": "createWorldScreen.gameMode.adventure"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"player_spectator_mode_toggle@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#player_game_mode_radio_spectator",
// 오버라이드 가능한 변수
"$radio_label_text": "createWorldScreen.gameMode.spectator"
}
}
]
},
// ???/?? ??
"game_section/option_dropdown_2": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#world_difficulty_radio_peaceful",
// 오버라이드 가능한 변수
"$radio_label_text": "options.difficulty.peaceful"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#world_difficulty_radio_easy",
// 오버라이드 가능한 변수
"$radio_label_text": "options.difficulty.easy"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#world_difficulty_radio_normal",
// 오버라이드 가능한 변수
"$radio_label_text": "options.difficulty.normal"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#world_difficulty_radio_hard",
// 오버라이드 가능한 변수
"$radio_label_text": "options.difficulty.hard"
}
}
]
},
// ???/?? ??
"game_section/option_dropdown_permissions": {
// 오버라이드 가능한 변수
"$is_world_settings|default": false,
// 오버라이드 가능한 변수
"$is_in_realm|default": false,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"permission_level_radio_visitor@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 완전히 제거(공간도 없음)
"ignored": "$is_world_settings",
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#permission_level_radio_visitor",
// 오버라이드 가능한 변수
"$radio_label_text": "permissions.level.visitor",
// 오버라이드 가능한 변수
"$permissions_visuals_normal": "permissions.permissions_visitor_radio_visuals_normal",
// 오버라이드 가능한 변수
"$permissions_visuals_hover": "permissions.permissions_visitor_radio_visuals_hover"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"permission_level_radio_visitor_settings@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 완전히 제거(공간도 없음)
"ignored": "(not $is_world_settings)",
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#permission_level_radio_visitor",
// 오버라이드 가능한 변수
"$radio_label_text": "permissions.level.visitor",
// 오버라이드 가능한 변수
"$radio_label_desc": "permissions.description.visitors",
// 오버라이드 가능한 변수
"$permissions_visuals_normal": "permissions.permissions_visitor_visuals_with_title_normal",
// 오버라이드 가능한 변수
"$permissions_visuals_hover": "permissions.permissions_visitor_visuals_with_title_hover"
}
},
// MEMBER //
{
// 다른 템플릿을 가져와서 확장(상속)
"permission_level_radio_member@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 완전히 제거(공간도 없음)
"ignored": "$is_world_settings",
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#permission_level_radio_member",
// 오버라이드 가능한 변수
"$radio_label_text": "permissions.level.member",
// 오버라이드 가능한 변수
"$permissions_visuals_normal": "permissions.permissions_member_radio_visuals_normal",
// 오버라이드 가능한 변수
"$permissions_visuals_hover": "permissions.permissions_member_radio_visuals_hover"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"permission_level_radio_member_settings@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 완전히 제거(공간도 없음)
"ignored": "(not $is_world_settings)",
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#permission_level_radio_member",
// 오버라이드 가능한 변수
"$radio_label_text": "permissions.level.member",
// 오버라이드 가능한 변수
"$radio_label_desc": "permissions.description.members",
// 오버라이드 가능한 변수
"$permissions_visuals_normal": "permissions.permissions_member_visuals_with_title_normal",
// 오버라이드 가능한 변수
"$permissions_visuals_hover": "permissions.permissions_member_visuals_with_title_hover"
}
},
// OPERATOR //
{
// 다른 템플릿을 가져와서 확장(상속)
"permission_level_radio_operator@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 완전히 제거(공간도 없음)
"ignored": "$is_world_settings",
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#permission_level_radio_operator",
// 오버라이드 가능한 변수
"$radio_label_text": "permissions.level.operator",
// 오버라이드 가능한 변수
"$permissions_visuals_normal": "permissions.permissions_op_radio_visuals_normal",
// 오버라이드 가능한 변수
"$permissions_visuals_hover": "permissions.permissions_op_radio_visuals_hover"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"permission_level_radio_operator_settings@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 완전히 제거(공간도 없음)
"ignored": "(not $is_world_settings)",
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#permission_level_radio_operator",
// 오버라이드 가능한 변수
"$radio_label_text": "permissions.level.operator",
// 오버라이드 가능한 변수
"$radio_label_desc": "permissions.description.operators",
// 오버라이드 가능한 변수
"$permissions_visuals_normal": "permissions.permissions_op_visuals_with_title_normal",
// 오버라이드 가능한 변수
"$permissions_visuals_hover": "permissions.permissions_op_visuals_with_title_hover"
}
},
// CUSTOM //
{
// 다른 템플릿을 가져와서 확장(상속)
"permission_level_radio_custom@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 완전히 제거(공간도 없음)
"ignored": "($is_world_settings or $is_in_realm)",
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#permission_level_radio_custom",
// 오버라이드 가능한 변수
"$radio_label_text": "permissions.level.custom",
// 오버라이드 가능한 변수
"$permissions_visuals_normal": "permissions.permissions_custom_radio_visuals_normal",
// 오버라이드 가능한 변수
"$permissions_visuals_hover": "permissions.permissions_custom_radio_visuals_hover"
}
}
]
},
// ???/?? ??
"game_section/option_dropdown_3": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"flat_world_type_toggle@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#world_type_radio_flat",
// 오버라이드 가능한 변수
"$radio_label_text": "generator.flat"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"infinite_world_type_toggle@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#world_type_radio_infinite",
// 오버라이드 가능한 변수
"$radio_label_text": "generator.infinite"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"old_world_type_toggle@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#world_type_radio_old",
// 오버라이드 가능한 변수
"$radio_label_text": "generator.old"
}
}
]
},
// ???/?? ??
"multiplayer_section/xbl_settings_dropdown": {
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_enabled": true,
// 오버라이드 가능한 변수
"$rainbowpie_localui_dropdown_content": [
{
// 다른 템플릿을 가져와서 확장(상속)
"invite_only_toggle@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#xbl_broadcast_invite_only",
// 오버라이드 가능한 변수
"$radio_label_text": "options.xboxliveBroadcast.inviteOnly"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"friends_only_toggle@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#xbl_broadcast_friends_only",
// 오버라이드 가능한 변수
"$radio_label_text": "options.xboxliveBroadcast.friendsOnly"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"friends_of_friends_toggle@rainbowpieui_settings_common.rainbowpie_ui_radio_with_label": {
// 오버라이드 가능한 변수
"$toggle_state_binding_name": "#xbl_broadcast_friends_of_friends",
// 오버라이드 가능한 변수
"$radio_label_text": "options.xboxliveBroadcast.friendsOfFriends"
}
}
]
},
// ???/?? ??
"selector_pane_content": {
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "world_snapshot_image",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// ???/?? ??
"rp_spacer_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 완전히 제거(공간도 없음)
"ignored": "(not $is_pregame)",
// 가로/세로 크기
"size": [ 1, 1 ]
}
}
]
}
]
},
// ???/?? ??
"play_or_create_stack_bedrock": {
// 가로/세로 크기
"size": [ "100%", 27 ],
// ?? ?? ??
"modifications": [
{
// ??? ???
"control_name": "create_or_play_button",
// ?? ??
"operation": "insert_after",
// ??? ?
"value": [
{
// ???/?? ??
"rp_spacer_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 1, 1 ]
}
}
]
}
]
},
// ???/?? ??
"play_or_create_stack_bedrock/create_or_play_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "fill", 28 ]
},
// ???/?? ??
"play_or_create_stack_bedrock/play_on_realm_button": {
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$button_state_panel": "rainbowpie_ui_button.rainbowpie_ui_text_button",
// 가로/세로 크기
"size": [ "fill", 28 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_color": [ 1.0, 0.7294117647058824, 0.9058823529411765 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_color": [ 0.7647058823529412, 0.2980392156862745, 0.9254901960784314 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_color": [ 0.85098, 0.301961, 0.301961 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_default_alpha": 0.5,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_hover_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_pressed_alpha": 0.4,
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_default_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_hover_color": [ 1.0, 1.0, 1.0 ],
// 오버라이드 가능한 변수
"$rainbowpie_localui_button_text_pressed_color": [ 1.0, 1.0, 1.0 ]
},
// ???/?? ??
"selector_pane_content/world_snapshot_image/thumbnail/border": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"selector_pane_content/world_snapshot_image": {
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [ "100%", "100%c" ]
},
// ???/?? ??
"selector_pane_content/world_snapshot_image/thumbnail": {
// 가로/세로 크기
"size": [ "100%", "56.25%x + 2.25px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ]
},
// ???/?? ??
"game_button": {
// 오버라이드 가능한 변수
"$icon_group_name": "game",
// 오버라이드 가능한 변수
"$icon_texture_name": "world"
},
// ???/?? ??
"multiplayer_button": {
// 오버라이드 가능한 변수
"$icon_group_name": "game",
// 오버라이드 가능한 변수
"$icon_texture_name": "multiplayer"
},
// ???/?? ??
"selector_pane_content/server_settings_visibility_panel": {
},
// ???/?? ??
"selector_pane_content/server_settings_visibility_panel/selector_group_label_0": {
// 완전히 제거(공간도 없음)
"ignored": "($is_pregame or $rainbowpie_ui_feature_markbest)"
},
// ???/?? ??
"selector_pane_content/server_settings_visibility_panel/server_spacer": {
// 가로/세로 크기
"size": [ 1, 1 ]
},
// ???/?? ??
"selector_pane_content/selector_group_label_1": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_feature_markbest)"
},
// ???/?? ??
"selector_pane_content/spacer": {
// 가로/세로 크기
"size": [ 1, 1 ]
},
// ???/?? ??
"addons_selector_panel/spacer_01": {
// 가로/세로 크기
"size": [ 1, 1 ]
},
// ???/?? ??
"addons_selector_panel/selector_group_label_2": {
// 완전히 제거(공간도 없음)
"ignored": "($rainbowpie_ui_feature_markbest)"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: _global_variables.json
// 분류: 실전 예제 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// RPG 스타일 NPC 대화창 변수
// NPC 대화 텍스트 색상
"$npc_dialog_text_color": [0.95, 0.95, 0.95],
// NPC 이름 색상
"$npc_name_color": [1.0, 0.9, 0.5],
// 대화 박스 배경 색상
"$dialogue_box_bg_color": [0.12, 0.1, 0.08],
// 오버라이드 가능한 변수
"$dialogue_box_border_color": [0.4, 0.3, 0.2],
// 버튼 색상
"$button_default_bg": [0.2, 0.15, 0.1],
// 오버라이드 가능한 변수
"$button_default_border": [0.4, 0.3, 0.2],
// 오버라이드 가능한 변수
"$button_hover_bg": [0.35, 0.25, 0.15],
// 오버라이드 가능한 변수
"$button_hover_border": [0.8, 0.6, 0.2],
// 오버라이드 가능한 변수
"$button_pressed_bg": [0.15, 0.1, 0.05],
// 오버라이드 가능한 변수
"$button_pressed_border": [0.3, 0.2, 0.1]
}
필요한 부분만 참고해서 가져가세요.
// 예제: manifest.json
// 분류: 실전 예제 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
"format_version": 2,
// ???/?? ??
"header": {
"name": "RPG Style NPC Dialogue UI",
"description": "§eRPG 스타일 NPC 대화창\n§7NPC 이미지를 왼쪽 하단에 배치하고\n§7대화창과 선택지를 RPG 게임처럼 디자인",
"uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"version": [1, 0, 0],
"min_engine_version": [1, 20, 0]
},
// ???/?? ??
"modules": [
{
// 컨트롤 종류
"type": "resources",
"uuid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"version": [1, 0, 0]
}
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: npc_interact_screen.json
// 분류: 실전 예제 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "npc_interact",
/********************************************************************************
* RPG 스타일 NPC 대화창
* 참고: form_buttons 바인딩 사용
********************************************************************************/
// ==================== NPC 초상화 패널 ====================
"npc_portrait_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [120, "100%"],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점에서 이동하는 거리
"offset": [8, 0],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"portrait_frame": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100%", "100% - 8px"],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// ?? (R,G,B,A)
"color": [0.2, 0.2, 0.2],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"portrait_bg": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100% - 6px", "100% - 14px"],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// ?? (R,G,B,A)
"color": [0.1, 0.1, 0.1],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// ???/?? ??
"npc_model": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "live_player_renderer",
// 가로/세로 크기
"size": ["100% - 12px", "100% - 20px"],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
"animation_reset_name": "screen_animation_reset",
// 애니메이션 목록
"anims": [
"@common.screen_exit_size_animation_push",
"@common.screen_exit_size_animation_pop",
"@common.screen_entrance_size_animation_push",
"@common.screen_entrance_size_animation_pop"
]
}
}
]
},
// ==================== 대사 텍스트 영역 ====================
"dialogue_content_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": ["fill", "100%"],
// 기준점에서 이동하는 거리
"offset": [136, 0],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"top_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", 12]
}
},
{
// ???/?? ??
"title_label": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#title_text",
// ?? (R,G,B,A)
"color": [1.0, 1.0, 1.0],
"font_size": "large",
"shadow": true,
// 가로/세로 크기
"size": ["100% - 200px", "default"],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#title_text",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// ???/?? ??
"title_spacing": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", 6]
}
},
{
// ???/?? ??
"dialogue_label": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#dialogtext",
// ?? (R,G,B,A)
"color": [0.85, 0.85, 0.85],
"shadow": true,
// 가로/세로 크기
"size": ["100% - 200px", "default"],
"line_padding": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#dialogtext"
}
]
}
}
]
},
// ==================== 버튼 (참고 코드 방식) ====================
"button_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", 30],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button@common.button": {
// 가로/세로 크기
"size": ["100% - 4px", "100%"],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"default": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"bg": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100%", "100%"],
// ?? (R,G,B,A)
"color": [0.2, 0.2, 0.2],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 보여줄 글자
"text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#form_button_text",
// ?? (R,G,B,A)
"color": [0.9, 0.9, 0.9],
"shadow": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}
]
}
}
]
}
},
{
// ???/?? ??
"hover": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"bg": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100%", "100%"],
// ?? (R,G,B,A)
"color": [0.4, 0.4, 0.4],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 보여줄 글자
"text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#form_button_text",
// ?? (R,G,B,A)
"color": [1.0, 1.0, 1.0],
"shadow": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}
]
}
}
]
}
},
{
// ???/?? ??
"pressed": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"bg": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100%", "100%"],
// ?? (R,G,B,A)
"color": [0.15, 0.15, 0.15],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 보여줄 글자
"text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#form_button_text",
// ?? (R,G,B,A)
"color": [0.7, 0.7, 0.7],
"shadow": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"buttons_stack": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": ["100%", "100%c"],
// 목록 아이템을 자동으로 생성
"factory": {
"name": "buttons",
// ??? ???
"control_name": "npc_interact.button_item"
},
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#form_button_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}
]
},
// ???/?? ??
"buttons_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [160, "100%"],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [-8, 0],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"buttons_scroll@common.scrolling_panel": {
// 가로/세로 크기
"size": ["100%", "100%"],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 오버라이드 가능한 변수
"$show_background": false,
// 오버라이드 가능한 변수
"$scrolling_content": "npc_interact.buttons_stack",
// 오버라이드 가능한 변수
"$scroll_size": [5, "100% - 4px"],
// 오버라이드 가능한 변수
"$scrolling_pane_size": ["100% - 5px", "100%"],
// 오버라이드 가능한 변수
"$scrolling_pane_offset": [0, 0]
}
}
]
},
// ==================== 닫기 버튼 ====================
"close_button_default": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"bg": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100%", "100%"],
// ?? (R,G,B,A)
"color": [0.6, 0.1, 0.1],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 보여줄 글자
"text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "X",
// ?? (R,G,B,A)
"color": [1.0, 1.0, 1.0],
"shadow": true,
"font_size": "large",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
},
// ???/?? ??
"close_button_hover": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"bg": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100%", "100%"],
// ?? (R,G,B,A)
"color": [0.9, 0.2, 0.2],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 보여줄 글자
"text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "X",
// ?? (R,G,B,A)
"color": [1.0, 1.0, 1.0],
"shadow": true,
"font_size": "large",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
},
// ???/?? ??
"close_button_pressed": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"bg": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100%", "100%"],
// ?? (R,G,B,A)
"color": [0.4, 0.05, 0.05],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 보여줄 글자
"text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "X",
// ?? (R,G,B,A)
"color": [0.7, 0.7, 0.7],
"shadow": true,
"font_size": "large",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"close_button@common.button": {
// 가로/세로 크기
"size": [30, 30],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_exit",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"default@npc_interact.close_button_default": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hover@npc_interact.close_button_hover": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pressed@npc_interact.close_button_pressed": {}
}
]
},
// ==================== 메인 대화 패널 ====================
// 다른 템플릿을 가져와서 확장(상속)
"student_custom@common.root_panel": {
// 가로/세로 크기
"size": ["100%", 150],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [0, 0],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 오버라이드 가능한 변수
"$dialog_background": "common.dialog_background_hollow_3",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"bg_panel@common.common_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"npc_portrait@npc_interact.npc_portrait_panel": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"dialogue_content@npc_interact.dialogue_content_panel": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"buttons@npc_interact.buttons_panel": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"close_btn@npc_interact.close_button": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [-8, 8],
// 겹치는 순서(숫자 클수록 위)
"layer": 5
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#student_view_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// ==================== 스크린 ====================
"npc_screen_contents_custom": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"npc_screen_contents@npc_interact.npc_screen_contents": {
// 완전히 제거(공간도 없음)
"ignored": "(not $is_worldbuilder)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"student_custom@npc_interact.student_custom": {
// 완전히 제거(공간도 없음)
"ignored": "$is_worldbuilder"
}
}
]
},
// ???/?? ??
"npc_screen": {
// 오버라이드 가능한 변수
"$screen_content": "npc_interact.npc_screen_contents_custom",
// 오버라이드 가능한 변수
"$screen_bg_content": "common.screen_background"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: _global_variables.json
// 분류: 이전 버전 예제 / 벡업
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// RPG 스타일 NPC 대화창 변수
// NPC 대화 텍스트 색상
"$npc_dialog_text_color": [0.95, 0.95, 0.95],
// NPC 이름 색상
"$npc_name_color": [1.0, 0.9, 0.5],
// 대화 박스 배경 색상
"$dialogue_box_bg_color": [0.12, 0.1, 0.08],
// 오버라이드 가능한 변수
"$dialogue_box_border_color": [0.4, 0.3, 0.2],
// 버튼 색상
"$button_default_bg": [0.2, 0.15, 0.1],
// 오버라이드 가능한 변수
"$button_default_border": [0.4, 0.3, 0.2],
// 오버라이드 가능한 변수
"$button_hover_bg": [0.35, 0.25, 0.15],
// 오버라이드 가능한 변수
"$button_hover_border": [0.8, 0.6, 0.2],
// 오버라이드 가능한 변수
"$button_pressed_bg": [0.15, 0.1, 0.05],
// 오버라이드 가능한 변수
"$button_pressed_border": [0.3, 0.2, 0.1]
}
필요한 부분만 참고해서 가져가세요.
// 예제: npc_interact_screen.json
// 분류: 이전 버전 예제 / 벡업
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "npc_interact",
/********************************************************************************
* RPG 스타일 NPC 대화창
* - 대화 박스를 화면 왼쪽 하단으로 이동
* - NPC 이름과 대화를 RPG 스타일로 디자인
********************************************************************************/
// ==================== 닫기 버튼 ====================
"close_button_default": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"border": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100%", "100%"],
// ?? (R,G,B,A)
"color": [0.6, 0.1, 0.1],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100% - 4px", "100% - 4px"],
// 기준점에서 이동하는 거리
"offset": [2, 2],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// ?? (R,G,B,A)
"color": [0.3, 0.05, 0.05],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// ???/?? ??
"x_text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "✕",
// ?? (R,G,B,A)
"color": [0.9, 0.9, 0.9],
"shadow": true,
"font_size": "large",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
},
// ???/?? ??
"close_button_hover": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"border": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100%", "100%"],
// ?? (R,G,B,A)
"color": [0.9, 0.2, 0.2],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100% - 4px", "100% - 4px"],
// 기준점에서 이동하는 거리
"offset": [2, 2],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// ?? (R,G,B,A)
"color": [0.5, 0.1, 0.1],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// ???/?? ??
"x_text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "✕",
// ?? (R,G,B,A)
"color": [1.0, 1.0, 1.0],
"shadow": true,
"font_size": "large",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
},
// ???/?? ??
"close_button_pressed": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"border": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100%", "100%"],
// ?? (R,G,B,A)
"color": [0.4, 0.05, 0.05],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100% - 4px", "100% - 4px"],
// 기준점에서 이동하는 거리
"offset": [2, 2],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// ?? (R,G,B,A)
"color": [0.2, 0.03, 0.03],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// ???/?? ??
"x_text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "✕",
// ?? (R,G,B,A)
"color": [0.7, 0.7, 0.7],
"shadow": true,
"font_size": "large",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"close_button@common.button": {
// 가로/세로 크기
"size": [30, 30],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_exit",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"default@npc_interact.close_button_default": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hover@npc_interact.close_button_hover": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pressed@npc_interact.close_button_pressed": {}
}
]
},
// ==================== 커스텀 버튼 ====================
"student_button_default": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"border": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100%", "100%"],
// ?? (R,G,B,A)
"color": "$button_default_border",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100% - 4px", "100% - 4px"],
// 기준점에서 이동하는 거리
"offset": [2, 2],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// ?? (R,G,B,A)
"color": "$button_default_bg",
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// ???/?? ??
"highlight": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100% - 8px", 2],
// 기준점에서 이동하는 거리
"offset": [4, 4],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// ?? (R,G,B,A)
"color": [0.3, 0.25, 0.15],
// ???
"alpha": 0.5,
// 겹치는 순서(숫자 클수록 위)
"layer": 3
}
},
{
// 보여줄 글자
"text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#button_text",
// ?? (R,G,B,A)
"color": [0.9, 0.9, 0.9],
"shadow": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#button_text"
}
]
}
}
]
},
// ???/?? ??
"student_button_hover": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"border": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100%", "100%"],
// ?? (R,G,B,A)
"color": "$button_hover_border",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100% - 4px", "100% - 4px"],
// 기준점에서 이동하는 거리
"offset": [2, 2],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// ?? (R,G,B,A)
"color": "$button_hover_bg",
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// ???/?? ??
"highlight": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100% - 8px", 3],
// 기준점에서 이동하는 거리
"offset": [4, 4],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// ?? (R,G,B,A)
"color": [1.0, 0.8, 0.3],
// ???
"alpha": 0.7,
// 겹치는 순서(숫자 클수록 위)
"layer": 3
}
},
{
// 보여줄 글자
"text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#button_text",
// ?? (R,G,B,A)
"color": [1.0, 0.9, 0.4],
"shadow": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#button_text"
}
]
}
}
]
},
// ???/?? ??
"student_button_pressed": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"border": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100%", "100%"],
// ?? (R,G,B,A)
"color": "$button_pressed_border",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100% - 4px", "100% - 4px"],
// 기준점에서 이동하는 거리
"offset": [2, 2],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// ?? (R,G,B,A)
"color": "$button_pressed_bg",
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// 보여줄 글자
"text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#button_text",
// ?? (R,G,B,A)
"color": [0.7, 0.7, 0.7],
"shadow": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#button_text"
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"student_button_custom@npc_interact.student_button": {
// 가로/세로 크기
"size": ["100% - 4px", 35],
// 오버라이드 가능한 변수
"$default_button_content": "npc_interact.student_button_default",
// 오버라이드 가능한 변수
"$hover_button_content": "npc_interact.student_button_hover",
// 오버라이드 가능한 변수
"$pressed_button_content": "npc_interact.student_button_pressed"
},
// ==================== 커스텀 대화 패널 ====================
"student_custom_dialog": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%c"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"student_custom_dialog_stack_panel@npc_interact.student_custom_dialog_stack_panel": {}
}
]
},
// ???/?? ??
"student_custom_dialog_stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": ["100%", "100%c"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"top_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", 8]
}
},
{
// ???/?? ??
"npc_name_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%c"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"name_tag_border": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100%c + 20px", 28],
// ?? (R,G,B,A)
"color": "$button_hover_border",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"name_tag_bg": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100% - 4px", "100% - 4px"],
// 기준점에서 이동하는 거리
"offset": [2, 2],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// ?? (R,G,B,A)
"color": "$button_default_bg",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"npc_name": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#title_text",
// ?? (R,G,B,A)
"color": "$npc_name_color",
"shadow": true,
"font_size": "normal",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#title_text",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
}
]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"name_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", 8]
}
},
{
// ???/?? ??
"text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%c"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"message_label": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": ["100% - 16px", "default"],
// 기준점에서 이동하는 거리
"offset": [8, 0],
// 보여줄 글자
"text": "#dialogtext",
// ?? (R,G,B,A)
"color": "$npc_dialog_text_color",
"shadow": true,
"line_padding": 3,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#dialogtext"
}
]
}
}
]
}
},
{
// ???/?? ??
"middle_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", 8]
}
},
{
// ???/?? ??
"buttons": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": ["102%", "100%cm"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"actions": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": ["fill", "default"],
"grid_item_template": "npc_interact.student_button_custom",
"grid_dimension_binding": "#student_button_grid_dimensions",
// 목록 이름
"collection_name": "student_buttons_collection",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#student_button_grid_dimensions"
}
]
}
}
]
}
},
{
// ???/?? ??
"bottom_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", 8]
}
}
]
},
// ==================== NPC 초상화 패널 (왼쪽 하단) ====================
"npc_portrait_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [180, 220],
// 기준점에서 이동하는 거리
"offset": [20, -20],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 프레임 외곽선
"frame_border": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100%", "100%"],
// ?? (R,G,B,A)
"color": "$dialogue_box_border_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 프레임 배경
"frame_bg": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100% - 6px", "100% - 6px"],
// 기준점에서 이동하는 거리
"offset": [3, 3],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// ?? (R,G,B,A)
"color": [0.15, 0.12, 0.1],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// NPC 모델 배경창
"npc_model_window": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100% - 12px", "100% - 42px"],
// 기준점에서 이동하는 거리
"offset": [6, 6],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// ???
"alpha": 0.3,
// ?? (R,G,B,A)
"color": [0.2, 0.2, 0.3],
// 겹치는 순서(숫자 클수록 위)
"layer": 3
}
},
{
// NPC 실제 모델
"npc_model": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "live_player_renderer",
// 가로/세로 크기
"size": [150, 180],
// 기준점에서 이동하는 거리
"offset": [15, 15],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
"animation_reset_name": "screen_animation_reset",
// 애니메이션 목록
"anims": [
"@common.screen_exit_size_animation_push",
"@common.screen_exit_size_animation_pop",
"@common.screen_entrance_size_animation_push",
"@common.screen_entrance_size_animation_pop"
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "npc_renderer",
// 계산식/참조 값
"source_property_name": "#using_npc_renderer",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 하단 이름 영역
"name_area": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100% - 10px", 25],
// 기준점에서 이동하는 거리
"offset": [5, -5],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"name_bg": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100%", "100%"],
// ?? (R,G,B,A)
"color": "$button_hover_border",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"name_bg_inner": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100% - 4px", "100% - 4px"],
// 기준점에서 이동하는 거리
"offset": [2, 2],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// ?? (R,G,B,A)
"color": "$button_default_bg",
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// ???/?? ??
"name_text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#title_text",
// ?? (R,G,B,A)
"color": "$npc_name_color",
"shadow": true,
"font_size": "small",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#title_text",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
}
]
}
}
]
},
// ==================== 커스텀 스크린 컨텐츠 (NPC 이미지 + 대화창) ====================
"npc_screen_contents_custom": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"npc_screen_contents@npc_interact.npc_screen_contents": {
// 완전히 제거(공간도 없음)
"ignored": "(not $is_worldbuilder)"
}
},
{
// NPC 초상화 (왼쪽 하단)
"npc_portrait@npc_interact.npc_portrait_panel": {
// 완전히 제거(공간도 없음)
"ignored": "$is_worldbuilder"
}
},
{
// 대화창 (NPC 이미지 오른쪽)
"student_custom@common.root_panel": {
// 가로/세로 크기
"size": ["50%", 220],
// 기준점에서 이동하는 거리
"offset": [210, -20],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 오버라이드 가능한 변수
"$dialog_background": "common.dialog_background_hollow_3",
// 완전히 제거(공간도 없음)
"ignored": "$is_worldbuilder",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 대화 박스 외곽선
"box_border": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100%", "100%"],
// ?? (R,G,B,A)
"color": "$dialogue_box_border_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 대화 박스 배경
"box_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100% - 6px", "100% - 6px"],
// 기준점에서 이동하는 거리
"offset": [3, 3],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// ?? (R,G,B,A)
"color": "$dialogue_box_bg_color",
// ???
"alpha": 0.95,
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// 상단 하이라이트
"box_highlight": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100% - 12px", 2],
// 기준점에서 이동하는 거리
"offset": [6, 6],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// ?? (R,G,B,A)
"color": [0.3, 0.25, 0.15],
// ???
"alpha": 0.6,
// 겹치는 순서(숫자 클수록 위)
"layer": 3
}
},
{
// 닫기 버튼 (오른쪽 상단)
"close_btn@npc_interact.close_button": {
// 기준점에서 이동하는 거리
"offset": [-10, 10],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@common.scrolling_panel": {
// 가로/세로 크기
"size": ["100% - 20px", "100% - 20px"],
// 기준점에서 이동하는 거리
"offset": [10, 10],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 오버라이드 가능한 변수
"$scrolling_content": "npc_interact.student_custom_dialog",
// 오버라이드 가능한 변수
"$show_background": false,
// 오버라이드 가능한 변수
"$scroll_size": ["5px", "100% - 4px"],
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [1, 0]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#student_view_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
}
]
},
// ==================== 메인 스크린 오버라이드 ====================
"npc_screen": {
// 오버라이드 가능한 변수
"$screen_content": "npc_interact.npc_screen_contents_custom",
// 오버라이드 가능한 변수
"$screen_bg_content": "common.screen_background"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: npc_interact_screen.json
// 분류: 이전 버전 예제 / 소형 npc ui
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "npc_interact",
/********************************************************************************
* RPG 스타일 NPC 대화창
* 레이아웃: [NPC 이미지] [제목 + 대사] [버튼들]
********************************************************************************/
// ==================== NPC 초상화 (왼쪽) ====================
"npc_portrait": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [120, 140],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 프레임
"frame": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100%", "100%"],
// ?? (R,G,B,A)
"color": [0.3, 0.3, 0.3],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 배경
"bg": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": ["100% - 4px", "100% - 4px"],
// 기준점에서 이동하는 거리
"offset": [2, 2],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// ?? (R,G,B,A)
"color": [0.15, 0.15, 0.15],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// NPC 모델
"npc_model": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "live_player_renderer",
// 가로/세로 크기
"size": ["100% - 8px", "100% - 8px"],
// 기준점에서 이동하는 거리
"offset": [4, 4],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
"animation_reset_name": "screen_animation_reset",
// 애니메이션 목록
"anims": [
"@common.screen_exit_size_animation_push",
"@common.screen_exit_size_animation_pop",
"@common.screen_entrance_size_animation_push",
"@common.screen_entrance_size_animation_pop"
]
}
}
]
},
// ==================== 대화 내용 영역 (중앙) ====================
"dialogue_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["fill", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": ["100%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_top": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", 8]
}
},
{
// 제목
"title": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#title_text",
// ?? (R,G,B,A)
"color": [1.0, 1.0, 1.0],
"font_size": "large",
"shadow": true,
// 가로/세로 크기
"size": ["100%", "default"],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#title_text",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// ???/?? ??
"padding_middle": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", 4]
}
},
{
// 대사 텍스트
"dialogue": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#dialogtext",
// ?? (R,G,B,A)
"color": [0.9, 0.9, 0.9],
"shadow": true,
// 가로/세로 크기
"size": ["100%", "default"],
"line_padding": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#dialogtext"
}
]
}
}
]
}
}
]
},
// ==================== 버튼 영역 (오른쪽) ====================
"button_area": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [140, "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding_top": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", 10]
}
},
{
// ???/?? ??
"buttons_grid": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": ["100%", "100%c"],
"grid_item_template": "npc_interact.student_button",
"grid_dimension_binding": "#student_button_grid_dimensions",
// 목록 이름
"collection_name": "student_buttons_collection",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#student_button_grid_dimensions"
}
]
}
}
]
},
// ==================== 메인 대화 컨테이너 ====================
// 다른 템플릿을 가져와서 확장(상속)
"student_custom@common.root_panel": {
// 가로/세로 크기
"size": ["80%", 160],
"max_size": [800, 160],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [0, -20],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 오버라이드 가능한 변수
"$dialog_background": "common.dialog_background_hollow_3",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"common_panel@common.common_panel": {}
},
{
// 가로 레이아웃
"horizontal_layout": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100% - 16px", "100% - 16px"],
// 기준점에서 이동하는 거리
"offset": [8, 8],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": ["100%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"npc_portrait@npc_interact.npc_portrait": {}
},
{
// ???/?? ??
"spacing_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [10, "100%"]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"dialogue_content@npc_interact.dialogue_content": {}
},
{
// ???/?? ??
"spacing_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [10, "100%"]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"button_area@npc_interact.button_area": {}
}
]
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#student_view_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// ==================== 스크린 ====================
"npc_screen_contents_custom": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"npc_screen_contents@npc_interact.npc_screen_contents": {
// 완전히 제거(공간도 없음)
"ignored": "(not $is_worldbuilder)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"student_custom@npc_interact.student_custom": {
// 완전히 제거(공간도 없음)
"ignored": "$is_worldbuilder"
}
}
]
},
// ???/?? ??
"npc_screen": {
// 오버라이드 가능한 변수
"$screen_content": "npc_interact.npc_screen_contents_custom",
// 오버라이드 가능한 변수
"$screen_bg_content": "common.screen_background"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: hud_screen (1).json
// 분류: 추가 HUD 예제 / 단일 파일
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
"progress_bar":{
// 오버라이드 가능한 변수
"$update_text": "update_bar:",// Needed to update the effected bar filling quantity.
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [100, 10],
// 오버라이드 가능한 변수
"$max_value": 50.0,
// ??? ??
"clip_direction": "right",
// ?? ??
"clip_pixelperfect": false,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {// Changing the texture path via 'property_bag'
"#texture_0": "textures/ui/Black",// 0
"#texture_1": "textures/ui/White"// 1
},
// 게임 값과 연결하는 규칙 목록
"bindings":[
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "progress_bar_control",
// 계산식/참조 값
"source_property_name": "#preserved_text",
// 결과가 들어갈 속성
"target_property_name": "#preserved_text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#preserved_text - $update_text)",
// 결과가 들어갈 속성
"target_property_name": "#value"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('#texture_' + (#preserved_text - ($update_text + #value + ',')))",// Changing the texture path only if you send a title with the $update_text and the #value including the texture path number, For example: 'update_bar:20,0' you need to include the ',' there.
// 결과가 들어갈 속성
"target_property_name": "#texture"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(($max_value - #value) / $max_value)",
// 결과가 들어갈 속성
"target_property_name": "#clip_ratio"
}
],
// 이 안에 들어가는 부품 목록
"controls":[
{
// ???/?? ??
"progress_bar_control":{
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 게임 값과 연결하는 규칙 목록
"bindings":[
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#preserved_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ('@' + #hud_title_text_string = '@' + #preserved_text) and not (('@' + #hud_title_text_string - $update_text) = '@' + #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: hud_screen(4).json
// 분류: 추가 HUD 예제 / 단일 파일
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "hud",
//---------------------------------------------------------------------------
// Hud Screen
//---------------------------------------------------------------------------
"hud_player_renderer": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [15, 15],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"hud_player": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "hud_player_renderer",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"animation_reset_name": "screen_animation_reset",
// 애니메이션 목록
"anims": [
"@common.screen_exit_size_animation_push",
"@common.screen_exit_size_animation_pop",
"@common.screen_entrance_size_animation_push",
"@common.screen_entrance_size_animation_pop"
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#paper_doll_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
},
// ???/?? ??
"hotbar_renderer": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 오버라이드 가능한 변수
"$hotbar_renderer_size|default": [20, 22],
// 커스텀 렌더러 종류
"renderer": "hotbar_renderer",
// 가로/세로 크기
"size": "$hotbar_renderer_size",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$hotbar_collection_name",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
},
{
// 가져올 값 이름
"binding_name": "#hotbar_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_slot_image@hotbar_slot_image": {
// 오버라이드 가능한 변수
"$hotbar_slot_image_size": "$hotbar_renderer_size"
}
}
]
},
// ???/?? ??
"cooldown_renderer": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "hotbar_cooldown_renderer",
// 가로/세로 크기
"size": [20, 22],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$hotbar_collection_name",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
}
]
},
// ???/?? ??
"heart_renderer": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 가로/세로 크기
"size": [1, 1],
// 커스텀 렌더러 종류
"renderer": "heart_renderer",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#show_survival_ui",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
// ???/?? ??
"horse_heart_renderer": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 가로/세로 크기
"size": [1, 1],
// 커스텀 렌더러 종류
"renderer": "horse_heart_renderer",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"armor_renderer": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 가로/세로 크기
"size": [1, 1],
// 커스텀 렌더러 종류
"renderer": "armor_renderer",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_armor_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
// ???/?? ??
"exp_progress_bar_and_hotbar": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%c", 31],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": "$xp_control_offset",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"resizing_xp_bar_with_hotbar": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%c", 5],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"empty_progress_bar@empty_progress_bar": {
// 가로/세로 크기
"size": ["100%c", 5],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"full_progress_bar@full_progress_bar": {
// 가로/세로 크기
"size": ["100%c + 10px", 5],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"progress_bar_nub@progress_bar_nub": {
// 가로/세로 크기
"size": [
"100%c - 10px",
5
],
"max_size": [190, 5],
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"horse_jump_rend@horse_jump_renderer": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [
"100%c",
5
],
// 겹치는 순서(숫자 클수록 위)
"layer": 7,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dash_rend@dash_renderer": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [
"100%c",
5
],
// 겹치는 순서(숫자 클수록 위)
"layer": 7,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar@hotbar_chooser": {
// 기준점에서 이동하는 거리
"offset": [
4,
16
]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"progress_text_label@progress_text_label": {
// 기준점에서 이동하는 거리
"offset": [0, 0],
// 겹치는 순서(숫자 클수록 위)
"layer": 7
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hotbar_with_xp_bar",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
// For when we hide the XP bar in Creative Move we still want to display the HUD
{
// ???/?? ??
"resizing_hotbar_no_xp_bar": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%c", 5],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"horse_jump_rend@horse_jump_renderer": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": ["100%c", 5],
// 겹치는 순서(숫자 클수록 위)
"layer": 7,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hotbar_no_xp_bar",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"dash_rend@dash_renderer": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": ["100%c", 5],
// 겹치는 순서(숫자 클수록 위)
"layer": 7,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar@hotbar_chooser": {
// 기준점에서 이동하는 거리
"offset": [4, 16]
}
}
]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"item_text_factory": {
// 가로/세로 크기
"size": [100, 10],
// 리스트를 자동으로 생성하는 공장
"type": "factory",
// 팩토리 템플릿 매핑
"control_ids": {
"item_text": "@hud.item_name_text",
"jukebox_text": "@hud.jukebox_popup_text"
}
}
}
]
},
// redo layout for exp and progress bar to work with the binding trick
// without touching classic
"exp_progress_bar_and_hotbar_pocket": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%"],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"resizing_xp_bar_with_hotbar": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", 5],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
"use_anchored_offset": true,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#anchored_offset_value_y": 0.0,
// ???/??? ?
"#size_binding_x": 0.0,
// ???/??? ?
"#size_binding_y": 0.0
},
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"empty_progress_bar@empty_progress_bar": {
// 가로/세로 크기
"size": ["100%", "100%"],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"full_progress_bar@full_progress_bar": {
// 가로/세로 크기
"size": ["100%", "100%"],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"progress_bar_nub@progress_bar_nub": {
// 가로/세로 크기
"size": ["99%", "100%"],
// 겹치는 순서(숫자 클수록 위)
"layer": 3
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"progress_text_label@progress_text_label": {
// 기준점에서 이동하는 거리
"offset": [0, 0],
// 겹치는 순서(숫자 클수록 위)
"layer": 7
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hotbar_with_xp_bar",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
},
{
// 가져올 값 이름
"binding_name": "#exp_bar_and_text_offset_y",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#anchored_offset_value_y"
},
{
// 가져올 값 이름
"binding_name": "#exp_bar_size_x",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#size_binding_x"
},
{
// 가져올 값 이름
"binding_name": "#exp_bar_size_y",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#size_binding_y"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_panel@hotbar_panel_pocket": {}
},
{
// ???/?? ??
"item_text": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점에서 이동하는 거리
"offset": [0, 0],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
"use_anchored_offset": true,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#anchored_offset_value_y": 0.0
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#exp_bar_and_text_offset_y",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#anchored_offset_value_y"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"item_text_factory": {
// 가로/세로 크기
"size": [100, 10],
// 리스트를 자동으로 생성하는 공장
"type": "factory",
// 팩토리 템플릿 매핑
"control_ids": {
"item_text": "@hud.item_name_text_root",
"jukebox_text": "@hud.jukebox_popup_text"
}
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"horse_jump_rend@horse_jump_renderer": {
// 겹치는 순서(숫자 클수록 위)
"layer": 7,
// 가로/세로 크기
"size": ["100%", 5],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
"use_anchored_offset": true,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#anchored_offset_value_y": 0.0,
// ???/??? ?
"#size_binding_x": 0.0,
// ???/??? ?
"#size_binding_y": 0.0
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#exp_bar_and_text_offset_y",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#anchored_offset_value_y"
},
{
// 가져올 값 이름
"binding_name": "#exp_bar_size_x",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#size_binding_x"
},
{
// 가져올 값 이름
"binding_name": "#exp_bar_size_y",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#size_binding_y"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"dash_rend@dash_renderer": {
// 겹치는 순서(숫자 클수록 위)
"layer": 7,
// 가로/세로 크기
"size": ["100%", 5],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
"use_anchored_offset": true,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#anchored_offset_value_y": 0.0,
// ???/??? ?
"#size_binding_x": 0.0,
// ???/??? ?
"#size_binding_y": 0.0
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#exp_bar_and_text_offset_y",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#anchored_offset_value_y"
},
{
// 가져올 값 이름
"binding_name": "#exp_bar_size_x",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#size_binding_x"
},
{
// 가져올 값 이름
"binding_name": "#exp_bar_size_y",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#size_binding_y"
}
]
}
}
]
},
// ???/?? ??
"full_progress_bar": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/experiencebarfull",
// ??? ??
"clip_direction": "left",
// ?? ??
"clip_pixelperfect": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#exp_progress",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#clip_ratio",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// ???/?? ??
"empty_progress_bar": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/experiencebarempty"
},
// ???/?? ??
"progress_bar_nub": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/experiencenub",
// 이미지 반복 여부
"tiled": "x"
},
// ???/?? ??
"progress_text_label": {
// 글자 표시
"type": "label",
"shadow": true,
// 보여줄 글자
"text": "#level_number",
// ?? (R,G,B,A)
"color": "$experience_text_color",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#level_number",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#level_number_visible",
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
// ???/?? ??
"horse_jump_renderer": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "horse_jump_renderer"
},
// ???/?? ??
"dash_renderer": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "dash_renderer"
},
// ???/?? ??
"hunger_renderer": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 가로/세로 크기
"size": [1, 1],
// 커스텀 렌더러 종류
"renderer": "hunger_renderer",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#show_survival_ui",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
// ???/?? ??
"bubbles_renderer": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 가로/세로 크기
"size": [1, 1],
// 커스텀 렌더러 종류
"renderer": "bubbles_renderer",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"mob_effects_renderer": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "mob_effects_renderer",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"vignette_renderer": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "vignette_renderer",
// 겹치는 순서(숫자 클수록 위)
"layer": 0
},
// ???/?? ??
"editor_gizmo_renderer": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "editor_gizmo_renderer",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"cursor_renderer": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 가로/세로 크기
"size": [16, 16],
// 커스텀 렌더러 종류
"renderer": "cursor_renderer",
// 겹치는 순서(숫자 클수록 위)
"layer": 4
},
// ???/?? ??
"progress_indicator_renderer": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "progress_indicator_renderer",
// 겹치는 순서(숫자 클수록 위)
"layer": 4
},
// ???/?? ??
"camera_renderer": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "camera_renderer",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"editor_volume_highlight_renderer": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "editor_volume_highlight_renderer",
// 겹치는 순서(숫자 클수록 위)
"layer": 4
},
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_hud_item_icon@common.item_renderer": {
// 오버라이드 가능한 변수
"$item_collection_name": "$hotbar_collection_name",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
"force_update": true
}
},
// ???/?? ??
"elipses_image": {
// 이미지 표시
"type": "image",
// 오버라이드 가능한 변수
"$elipses_image_size|default": [14, 4],
// 사용할 이미지 경로
"texture": "textures/ui/elipses",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": "$elipses_image_size",
// 기준점에서 이동하는 거리
"offset": [0.0, 0.5],
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// ???
"alpha": 0.65
},
// 다른 템플릿을 가져와서 확장(상속)
"bound_button_label@button_label": {
// 보여줄 글자
"text": "$label_bind_name",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$label_bind_name",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// ???/?? ??
"default_borderless_button_layout": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/button_borderless_light",
// ???
"alpha": 0.45
},
// 다른 템플릿을 가져와서 확장(상속)
"hover_borderless_button_layout@default_borderless_button_layout": {
// 사용할 이미지 경로
"texture": "textures/ui/button_borderless_lighthover"
},
// 다른 템플릿을 가져와서 확장(상속)
"pressed_borderless_button_layout@default_borderless_button_layout": {
// 사용할 이미지 경로
"texture": "textures/ui/button_borderless_lightpressed"
},
// 다른 템플릿을 가져와서 확장(상속)
"borderless_button@common.button": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"default@default_borderless_button_layout": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hover@hover_borderless_button_layout": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pressed@pressed_borderless_button_layout": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"elipses@elipses_image": {}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_elipses_button@borderless_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.hotbar_inventory_button",
// 오버라이드 가능한 변수
"$hotbar_elipses_button_size|default": [16, 16],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": "$hotbar_elipses_button_size",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 포커스 가능 여부
"focus_enabled": false,
// 처음 포커스 우선순위
"default_focus_precedence": 10,
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#inventory_touch_button",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// ???/?? ??
"start_cap_image": {
// 이미지 표시
"type": "image",
// 오버라이드 가능한 변수
"$cap_image_size|default": [1, 22],
// 사용할 이미지 경로
"texture": "textures/ui/hotbar_start_cap",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": "$cap_image_size",
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// ???
"alpha": 0.65,
// 보이기/숨기기(공간 유지)
"visible": true
},
// 다른 템플릿을 가져와서 확장(상속)
"end_cap_image@start_cap_image": {
// 사용할 이미지 경로
"texture": "textures/ui/hotbar_end_cap"
},
// ???/?? ??
"hotbar_start_cap": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$cap_size|default": [1, 22],
// 가로/세로 크기
"size": "$cap_size",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"start_cap_image@start_cap_image": {
// 오버라이드 가능한 변수
"$cap_image_size": "$cap_size"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hotbar_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_end_cap@hotbar_start_cap": {
// 오버라이드 가능한 변수
"$cap_size|default": [1, 22],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"end_cap_image@end_cap_image": {
// 오버라이드 가능한 변수
"$cap_image_size": "$cap_size"
}
}
]
},
// ???/?? ??
"heart_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/heart_background",
// 가로/세로 크기
"size": [9, 9],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ???
"alpha": 0.65
},
// ???/?? ??
"hotbar_slot_image": {
// 오버라이드 가능한 변수
"$hotbar_slot_image_size|default": [20, 22],
// 이미지 표시
"type": "image",
// 기준점에서 이동하는 거리
"offset": [0, 0],
// 가로/세로 크기
"size": "$hotbar_slot_image_size",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ???
"alpha": 1
},
// ???/?? ??
"hotbar_slot_selected_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/selected_hotbar_slot",
// 가로/세로 크기
"size": [24, 24],
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#slot_selected",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$hotbar_collection_name"
}
]
},
// ???/?? ??
"gui_hotbar_slot_button_prototype": {
// 클릭 가능한 버튼
"type": "button",
// 오버라이드 가능한 변수
"$hotbar_select|default": "button.hotbar_select",
// 오버라이드 가능한 변수
"$focus_id|default": "",
// 오버라이드 가능한 변수
"$focus_override_down|default": "",
// 오버라이드 가능한 변수
"$focus_override_up|default": "",
// 오버라이드 가능한 변수
"$focus_override_left|default": "",
// 오버라이드 가능한 변수
"$focus_override_right|default": "",
// 포커스 이동용 ID
"focus_identifier": "$focus_id",
// 아래로 이동할 대상
"focus_change_down": "$focus_override_down",
// 위로 이동할 대상
"focus_change_up": "$focus_override_up",
// 왼쪽으로 이동할 대상
"focus_change_left": "$focus_override_left",
// 오른쪽으로 이동할 대상
"focus_change_right": "$focus_override_right",
// 포커스 가능 여부
"focus_enabled": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "$hotbar_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"button_up_right_of_first_refusal": true
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.hotbar_ok",
// 입력 시점(pressed 등)
"mapping_type": "focused"
},
{
// 어떤 동작을 실행할지
"to_button_id": "button.slot_pressed",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "$hotbar_collection_name",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
}
]
},
// Displays player's position in the form "Position: 0, 0, 0", as well as "Agent Pos: 0, 0, 0" if an owned agent is present
"player_position": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": ["100%c + 6px", "100%c + 2px"],
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// ???
"alpha": 0.7,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"player_position_text": {
// 글자 표시
"type": "label",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"enable_profanity_filter": false,
// ?? (R,G,B,A)
"color": "$chat_text_color",
// ??
"font_type": "MinecraftTen",
// 보여줄 글자
"text": "By TrayePlays",
// ?? ?? ??
"font_scale_factor": 1.5,
// 기준점에서 이동하는 거리
"offset": [0, -2.5],
"shadow": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#player_position_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// ?? ???
"binding_condition": "always_when_visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"trayeImage": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/game/traye",
// 가로/세로 크기
"size": ["100%", "100%"],
// 기준점에서 이동하는 거리
"offset": [70, 1]
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#player_position_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// ?? ???
"binding_condition": "always",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// Displays number of played in-game days
"number_of_days_played": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": ["100%c + 6px", "100%c + 2px"],
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// ???
"alpha": 0.7,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"number_of_days_played_text": {
// 글자 표시
"type": "label",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
"enable_profanity_filter": false,
// ?? (R,G,B,A)
"color": "$chat_text_color",
// 보여줄 글자
"text": "#text",
"shadow": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#number_of_days_played_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// ?? ???
"binding_condition": "always_when_visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#number_of_days_played_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// ?? ???
"binding_condition": "always",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// ???/?? ??
"anim_chat_txt_alpha": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_quart",
// 걸리는 시간(초)
"duration": 1,
// 시작 값
"from": 1,
// 끝 값
"to": 0
},
// ???/?? ??
"anim_chat_txt_wait": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": "$chat_item_lifetime",
// 다음 애니메이션으로 연결
"next": "@hud.anim_chat_txt_alpha"
},
// ???/?? ??
"anim_chat_bg_alpha": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_quart",
"destroy_at_end": "chat_grid_item",
// 걸리는 시간(초)
"duration": 1,
// 시작 값
"from": 0.7,
// 끝 값
"to": 0
},
// ???/?? ??
"anim_chat_bg_wait": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": "$chat_item_lifetime",
// 다음 애니메이션으로 연결
"next": "@hud.anim_chat_bg_alpha"
},
// ???/?? ??
"chat_label": {
// 글자 표시
"type": "label",
// 겹치는 순서(숫자 클수록 위)
"layer": 31,
// 보여줄 글자
"text": "#text",
// 가로/세로 크기
"size": ["100%", "default"],
"shadow": true,
"localize": false,
// ?? (R,G,B,A)
"color": "$chat_text_color",
// ??
"font_type": "$chat_font_type",
// ?? ?? ??
"font_scale_factor": "$chat_font_scale_factor",
"line_padding": "$chat_line_spacing",
// 애니메이션 목록
"anims": ["@hud.anim_chat_txt_wait"],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#chat_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "chat_text_grid",
// ?? ???
"binding_condition": "once"
}
]
},
// ???/?? ??
"chat_grid_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": ["100%-2px", "100%c+0.3px"], // Crafted to fit messages with neither gap or overlap
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #on_new_death_screen)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"chat_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// ???
"alpha": 0.7,
// 가로/세로 크기
"size": ["100%", "100%c"],
// 애니메이션 목록
"anims": ["@hud.anim_chat_bg_wait"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"chat_text@chat_label": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [2, 0]
}
}
]
}
}
]
},
// ???/?? ??
"chat_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
//Uncomment when text formatting is being accounted for in word length
//"clips_children": true,
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": ["100%", "100%c"],
"max_size": ["100%", "50%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 목록 아이템을 자동으로 생성
"factory": {
"name": "chat_item_factory",
"max_children_size": 50,
// 팩토리 템플릿 매핑
"control_ids": {
"chat_item": "chat_item@hud.chat_grid_item"
}
}
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"item_durability@common.durability_bar": {
// 오버라이드 가능한 변수
"$durability_bar_required|default": true,
// 오버라이드 가능한 변수
"$item_collection_name": "$hotbar_collection_name"
},
// 다른 템플릿을 가져와서 확장(상속)
"item_storage@common.storage_bar": {
// 오버라이드 가능한 변수
"$storage_bar_required|default": true,
// 오버라이드 가능한 변수
"$item_collection_name": "$hotbar_collection_name"
},
// 다른 템플릿을 가져와서 확장(상속)
"container_item_lock_overlay@common.container_item_lock_overlay": {
// 오버라이드 가능한 변수
"$item_collection_name": "$hotbar_collection_name"
},
// 다른 템플릿을 가져와서 확장(상속)
"item_lock_cell_image@common.item_lock_cell_image": {
// 오버라이드 가능한 변수
"$item_collection_name": "$hotbar_collection_name"
},
// ???/?? ??
"gui_hotbar_grid_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [20, 22],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 오버라이드 가능한 변수
"$stack_count_required|default": true,
// 오버라이드 가능한 변수
"$durability_bar_required|default": true,
// 오버라이드 가능한 변수
"$storage_bar_required|default": true,
// 이 안에 들어가는 부품 목록
"controls": [
{"hotbar_slot_selected_image@hotbar_slot_selected_image": {}},
{"hotbar_renderer@hotbar_renderer": {}},
{
// ???/?? ??
"hotbar_parent": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [18, 18],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"item_icon@hotbar_hud_item_icon": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 가로/세로 크기
"size": [16, 16]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_count@common.stack_count_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 오버라이드 가능한 변수
"$item_collection_name": "$hotbar_collection_name",
// 오버라이드 가능한 변수
"$stack_count_collection_name": "$hotbar_collection_name",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#inventory_stack_count",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$stack_count_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#stack_count_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$stack_count_collection_name"
}
]
}
},
{"hotbar_hint@edu_common.hotbar_hint": {}},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_dura@item_durability": {
// 겹치는 순서(숫자 클수록 위)
"layer": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_store@item_storage": {
// 겹치는 순서(숫자 클수록 위)
"layer": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_lock_overlay@hud.container_item_lock_overlay": {
// 겹치는 순서(숫자 클수록 위)
"layer": 6,
// 가로/세로 크기
"size": [16, 16]
}
}
]
}
},
{"cooldown_renderer@cooldown_renderer": {"layer": 10}},
{"hotbar_slot_button@gui_hotbar_slot_button_prototype": {}}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hotbar_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
// redo layout for each hotbar grid item to work with the binding trick
// without touching classic
"gui_hotbar_grid_item_pocket": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": ["11.11%", "100%"],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 오버라이드 가능한 변수
"$stack_count_required|default": true,
// 오버라이드 가능한 변수
"$durability_bar_required|default": true,
// 오버라이드 가능한 변수
"$storage_bar_required|default": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_slot_selected_image@hotbar_slot_selected_image": {
// 가로/세로 크기
"size": ["120%", "120%"]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_renderer@hotbar_renderer": {
// 오버라이드 가능한 변수
"$hotbar_renderer_size": ["105%", "105%"]
}
},
{
// ???/?? ??
"hotbar_parent": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"item_icon@hotbar_hud_item_icon": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 가로/세로 크기
"size": ["80%", "80%"]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_count@common.stack_count_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 오버라이드 가능한 변수
"$item_collection_name": "$hotbar_collection_name",
// 오버라이드 가능한 변수
"$stack_count_collection_name": "$hotbar_collection_name",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#inventory_stack_count",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$stack_count_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#stack_count_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$stack_count_collection_name"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_dura@item_durability": {
// 겹치는 순서(숫자 클수록 위)
"layer": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_store@item_storage": {
// 겹치는 순서(숫자 클수록 위)
"layer": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_lock_overlay@hud.container_item_lock_overlay": {
// 겹치는 순서(숫자 클수록 위)
"layer": 6,
// 가로/세로 크기
"size": [16, 16]
}
}
]
}
},
{"cooldown_renderer@cooldown_renderer": {"layer": 10}},
{"hotbar_slot_button@gui_hotbar_slot_button_prototype": {}}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hotbar_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
// ???/?? ??
"centered_gui_elements": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hud_player_rend_desktop@hud_player_renderer": {
// 기준점에서 이동하는 거리
"offset": "$hud_player_rend_desktop_offset",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_visible_centered_gui_elements",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// ???/?? ??
"centered_gui_elements_at_bottom_middle": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 기준점에서 이동하는 거리
"offset": [10, -10],
// 가로/세로 크기
"size": [180, 50],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"heart_rend@heart_renderer": {
// 기준점에서 이동하는 거리
"offset": [-1, -40],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"horse_heart_rend_0@horse_heart_renderer": {
// 기준점에서 이동하는 거리
"offset": [180, -56],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#creative_horse_hearts",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"horse_heart_rend_1@horse_heart_renderer": {
// 기준점에서 이동하는 거리
"offset": [180, -50],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#survival_horse_hearts",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_rend@armor_renderer": {
// 기준점에서 이동하는 거리
"offset": [-1, -40],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hunger_rend@hunger_renderer": {
// 기준점에서 이동하는 거리
"offset": [180, -40],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"bubbles_rend_0@bubbles_renderer": {
// 기준점에서 이동하는 거리
"offset": [180, -50],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_not_riding_bubbles",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"bubbles_rend_1@bubbles_renderer": {
// 기준점에서 이동하는 거리
"offset": [180, -50],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_riding_bubbles",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{"exp_rend@exp_progress_bar_and_hotbar": {}} // for classic
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_visible_centered",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// ???/?? ??
"centered_gui_elements_at_bottom_middle_touch": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [200, 50],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"heart_rend@heart_renderer": {
// 기준점에서 이동하는 거리
"offset": [-1, -40],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"horse_heart_rend_0@horse_heart_renderer": {
// 기준점에서 이동하는 거리
"offset": [200, -56],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#creative_horse_hearts",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"horse_heart_rend_1@horse_heart_renderer": {
// 기준점에서 이동하는 거리
"offset": [200, -50],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#survival_horse_hearts",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_rend@armor_renderer": {
// 기준점에서 이동하는 거리
"offset": [-1, -40],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hunger_rend@hunger_renderer": {
// 기준점에서 이동하는 거리
"offset": [200, -40],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"bubbles_rend_0@bubbles_renderer": {
// 기준점에서 이동하는 거리
"offset": [200, -50],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_not_riding_bubbles",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"bubbles_rend_1@bubbles_renderer": {
// 기준점에서 이동하는 거리
"offset": [200, -50],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_riding_bubbles",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{"exp_rend@exp_progress_bar_and_hotbar": {}} // for classic
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_visible_centered_touch",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// ???/?? ??
"not_centered_gui_elements": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"heart_rend@heart_renderer": {
// 기준점에서 이동하는 거리
"offset": [2, 2],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"horse_heart_rend@horse_heart_renderer": {
// 기준점에서 이동하는 거리
"offset": [-2, 2],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#horse_hearts_touch",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hunger_rend@hunger_renderer": {
// 기준점에서 이동하는 거리
"offset": [-2, 2],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_rend@armor_renderer": {
// 기준점에서 이동하는 거리
"offset": [2, 2],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hud_player_rend_pocket@hud_player_renderer": {
// 기준점에서 이동하는 거리
"offset": [15, 15],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"bubbles_rend_0@bubbles_renderer": {
// 기준점에서 이동하는 거리
"offset": [-2, 12],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_not_riding_bubbles",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"bubbles_rend_1@bubbles_renderer": {
// 기준점에서 이동하는 거리
"offset": [-2, 12],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_riding_bubbles",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_visible_not_centered",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// ???/?? ??
"hotbar_chooser": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%c", "100%c"],
// 오버라이드 가능한 변수
"$ignore_desktop": true,
// 오버라이드 가능한 변수
"$ignore_pocket": false,
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($desktop_screen and not $education_edition)",
// 오버라이드 가능한 변수
"$ignore_desktop": false,
// 오버라이드 가능한 변수
"$ignore_pocket": true
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"desktop_hotbar@hotbar_panel": {
// 완전히 제거(공간도 없음)
"ignored": "$ignore_desktop",
// 기준점에서 이동하는 거리
"offset": [-4, 0]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pocket_hotbar@hotbar_panel": {
// 완전히 제거(공간도 없음)
"ignored": "$ignore_pocket",
// 기준점에서 이동하는 거리
"offset": [-4, 0]
}
}
]
},
// ???/?? ??
"hotbar_elipses_panel_right_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [20, 22],
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 이 안에 들어가는 부품 목록
"controls": [
{"elipses_content@hud.hotbar_elipses_panel_right_art": {}}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hotbar_elipses_right_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// ???/?? ??
"hotbar_elipses_panel_right_art": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$hotbar_elipses_panel_right_art_size|default": [20, 22],
// 가로/세로 크기
"size": "$hotbar_elipses_panel_right_art_size",
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"slot@hud.hotbar_slot_image": {
// 오버라이드 가능한 변수
"$hotbar_slot_image_size": "$hotbar_elipses_panel_right_art_size",
// The layering is for cover the grid cap/black border when this panel is visible
"layer": 2,
//Grab the right hand end of the hotbar
"texture": "textures/ui/hotbar_8"
}
},
{"button@hud.hotbar_elipses_button": {}}
]
},
// ???/?? ??
"hotbar_elipses_panel_left_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [20, 22],
// 이 안에 들어가는 부품 목록
"controls": [{"button@hud.hotbar_elipses_panel_left_art": {}}],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hotbar_elipses_left_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// ???/?? ??
"hotbar_elipses_panel_left_art": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$hotbar_elipses_panel_left_art_size|default": [20, 22],
// 가로/세로 크기
"size": "$hotbar_elipses_panel_left_art_size",
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"slot@hud.hotbar_slot_image": {
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 오버라이드 가능한 변수
"$hotbar_slot_image_size": "$hotbar_elipses_panel_left_art_size",
//Grab the left hand end of the hotbar
"texture": "textures/ui/hotbar_0"
}
},
{"button@hud.hotbar_elipses_button": {}}
]
},
// ???/?? ??
"hotbar_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": ["100%c", 22],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{"hotbar_start_cap@hud.hotbar_start_cap": {}},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_elipses_panel_left@hud.hotbar_elipses_panel_left_content": {}
},
{"hotbar_grid@hud.hotbar_grid": {}},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_elipses_panel_right@hud.hotbar_elipses_panel_right_content": {}
},
{"hotbar_end_cap@hud.hotbar_end_cap": {}}
]
},
// redo layout for hotbar panel to work with the binding trick
// without touching classic
"hotbar_panel_pocket": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": ["100%", 40],
// 기준점에서 이동하는 거리
"offset": [0, 0],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
"use_anchored_offset": true,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#anchored_offset_value_x": 0.0,
// ???/??? ?
"#anchored_offset_value_y": 0.0,
// ???/??? ?
"#size_binding_x": 0.0,
// ???/??? ?
"#size_binding_y": 0.0
},
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"hotbar_start_cap_frame": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [1, "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_start_cap@hud.hotbar_start_cap": {
// 기준점에서 이동하는 거리
"offset": [0, "-2.5%"],
// 오버라이드 가능한 변수
"$cap_size": [1, "105%"]
}
}
]
}
},
{
// ???/?? ??
"hotbar_elipses_panel_left": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["10%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_elipses_panel_left@hud.hotbar_elipses_panel_left_art": {
// 오버라이드 가능한 변수
"$hotbar_elipses_panel_left_art_size": [
"105%",
"105%"
],
// 오버라이드 가능한 변수
"$hotbar_elipses_button_size": ["77%", "77%"],
// 오버라이드 가능한 변수
"$elipses_image_size": ["75%", "75%"]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hotbar_elipses_left_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_grid@hud.hotbar_grid": {
// 가로/세로 크기
"size": ["90%", "100%"],
"grid_item_template": "hud.gui_hotbar_grid_item_pocket"
}
},
{
// ???/?? ??
"hotbar_elipses_panel_right": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["10%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_elipses_panel_right@hud.hotbar_elipses_panel_right_art": {
// 오버라이드 가능한 변수
"$hotbar_elipses_panel_right_art_size": [
"105%",
"105%"
],
// 오버라이드 가능한 변수
"$hotbar_elipses_button_size": ["77%", "77%"],
// 오버라이드 가능한 변수
"$elipses_image_size": ["75%", "75%"]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hotbar_elipses_right_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// ???/?? ??
"hotbar_end_cap_frame": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [1, "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hotbar_end_cap@hud.hotbar_end_cap": {
// 기준점에서 이동하는 거리
"offset": [0, "-2.5%"],
// 오버라이드 가능한 변수
"$cap_size": [1, "105%"]
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hotbar_offset_x",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#anchored_offset_value_x"
},
{
// 가져올 값 이름
"binding_name": "#hotbar_offset_y",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#anchored_offset_value_y"
},
{
// 가져올 값 이름
"binding_name": "#hotbar_size_x",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#size_binding_x"
},
{
// 가져올 값 이름
"binding_name": "#hotbar_size_y",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#size_binding_y"
}
]
},
// ???/?? ??
"hotbar_grid": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 오버라이드 가능한 변수
"$hotbar_collection_name|default": "hotbar_items",
"grid_item_template": "hud.gui_hotbar_grid_item",
"grid_dimension_binding": "#hotbar_grid_dimensions",
// 목록 이름
"collection_name": "$hotbar_collection_name",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hotbar_grid_dimensions",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// ???/?? ??
"edu_hotbar_grid": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
"grid_item_template": "hud.gui_hotbar_grid_item",
"grid_dimension_binding": "#hotbar_grid_dimensions",
// 목록 이름
"collection_name": "$hotbar_collection_name",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hotbar_grid_dimensions",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// ???/?? ??
"anim_item_name_text_alpha_in": {
// 투명도 변화
"anim_type": "alpha",
// 걸리는 시간(초)
"duration": 0,
// 시작 값
"from": 0.0,
// 끝 값
"to": 1.0,
// 다음 애니메이션으로 연결
"next": "@hud.anim_item_name_text_alpha_stay"
},
// ???/?? ??
"anim_item_name_text_alpha_stay": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": "$wait_duration",
// 다음 애니메이션으로 연결
"next": "@hud.anim_item_name_text_alpha_out"
},
// ???/?? ??
"anim_item_name_text_alpha_out": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_expo",
"destroy_at_end": "$destroy_id",
// 걸리는 시간(초)
"duration": 2,
// 시작 값
"from": 1.0,
// 끝 값
"to": 0
},
// ???/?? ??
"anim_item_name_background_alpha_in": {
// 투명도 변화
"anim_type": "alpha",
// 걸리는 시간(초)
"duration": 0,
// 시작 값
"from": 0,
// 끝 값
"to": 0.6,
// 다음 애니메이션으로 연결
"next": "@hud.anim_item_name_background_alpha_stay"
},
// ???/?? ??
"anim_item_name_background_alpha_stay": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": "$wait_duration",
// 다음 애니메이션으로 연결
"next": "@hud.anim_item_name_background_alpha_out"
},
// ???/?? ??
"anim_item_name_background_alpha_out": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_expo",
// 걸리는 시간(초)
"duration": 2,
// 시작 값
"from": 0.6,
// 끝 값
"to": 0
},
// ???/?? ??
"item_name_text_root": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%cm", "100%cm"],
// 오버라이드 가능한 변수
"$show_interact_padding|default": false,
// 오버라이드 가능한 변수
"$show_survival_padding|default": false,
// 오버라이드 가능한 변수
"$show_text_background|default": false,
// 오버라이드 가능한 변수
"$text_color|default": "$tool_tip_text",
// 오버라이드 가능한 변수
"$text_binding|default": "#item_text",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 오버라이드 가능한 변수
"$wait_duration|default": 1,
// 오버라이드 가능한 변수
"$destroy_id|default": "item_name_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"item_text_aligner": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": ["100%cm", "100%c"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"item_text_control": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%cm", "100%cm"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"item_text_background": {
// 완전히 제거(공간도 없음)
"ignored": "(not $show_text_background)",
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [
"100%sm + 12px",
"100%sm + 5px"
],
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// ???
"alpha": "@hud.anim_item_name_background_alpha_in"
}
},
{
// ???/?? ??
"item_text_label": {
// 글자 표시
"type": "label",
"max_size": [200, "default"],
// ?? ??
"text_alignment": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 31,
// ?? (R,G,B,A)
"color": "$text_color",
// 보여줄 글자
"text": "#text",
// ???
"alpha": "@hud.anim_item_name_text_alpha_in",
// Disable profanity filter for this control so that
// we can enable it on the fly only for items with custom names
"enable_profanity_filter": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$text_binding",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text"
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"interact_padding@common.empty_panel": {
// 보이기/숨기기(공간 유지)
"visible": "$show_interact_padding",
// To not overlap with the interact button
// the text needs to move up by 18
"size": ["100%sm", 18],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#interact_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// ?? ???
"binding_condition": "always"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"survival_buffer@common.empty_panel": {
// 보이기/숨기기(공간 유지)
"visible": "$show_survival_padding",
// Survival HUD has elements above the hot bar
// meaning the text needs to move up
"size": ["100%sm", 17],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#show_survival_ui",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"item_name_text@hud.item_name_text_root": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#item_name_text_offset",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#offset"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"jukebox_popup_text@hud.item_name_text_root": {
// 오버라이드 가능한 변수
"$text_color": "$jukebox_text_color",
// 오버라이드 가능한 변수
"$text_binding": "#jukebox_text",
// 기준점에서 이동하는 거리
"offset": [0, -34]
},
// ???/?? ??
"hud_tip_text": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": ["100%c + 12px", "100%c + 5px"],
// 기준점에서 이동하는 거리
"offset": [0, -42],
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// ???
"alpha": "@hud.anim_item_name_background_alpha_out",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 오버라이드 가능한 변수
"$wait_duration|default": 1,
// 오버라이드 가능한 변수
"$destroy_id|default": "popup_tip_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"item_text_label": {
// 글자 표시
"type": "label",
// 겹치는 순서(숫자 클수록 위)
"layer": 31,
// ?? (R,G,B,A)
"color": "$tool_tip_text",
// 보여줄 글자
"text": "#text",
"shadow": true,
// ???
"alpha": "@hud.anim_item_name_text_alpha_out",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#tip_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text"
}
]
}
}
]
},
// ???/?? ??
"anim_actionbar_text_alpha_out": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_expo",
// 걸리는 시간(초)
"duration": 3,
// 시작 값
"from": 1.0,
// 끝 값
"to": 0,
"destroy_at_end": "hud_actionbar_text",
"end_event": "hud_actionbar_text_complete"
},
// ???/?? ??
"anim_actionbar_text_background_alpha_out": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_expo",
// 걸리는 시간(초)
"duration": 3,
// 시작 값
"from": "$actionbar_text_background_alpha",
// 끝 값
"to": 0,
"destroy_at_end": "hud_actionbar_text",
"end_event": "hud_actionbar_text_complete"
},
// ???/?? ??
"auto_save_animation": {
// 프레임 애니메이션
"anim_type": "flip_book",
"initial_uv": [0, 0],
"frame_count": 9,
"frame_step": 18,
"fps": 10,
"reversible": true,
// 움직임 곡선
"easing": "linear"
},
// ???/?? ??
"auto_save": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 31,
// 사용할 이미지 경로
"texture": "textures/ui/auto_save",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [-15, 15],
// 가로/세로 크기
"size": [18, 30],
// ???? ??
"uv_size": [18, 30],
// ???? ?? ??
"uv": "@auto_save_animation",
"disable_anim_fast_forward": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#auto_save_animation_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
// ???/?? ??
"hud_actionbar_text": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": ["100%c + 12px", "100%c + 5px"],
// 기준점에서 이동하는 거리
"offset": [0, "50%-68px"],
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// ???
"alpha": "@hud.anim_actionbar_text_background_alpha_out",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"actionbar_message": {
// 글자 표시
"type": "label",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// ?? (R,G,B,A)
"color": "$tool_tip_text",
// 겹치는 순서(숫자 클수록 위)
"layer": 31,
// 보여줄 글자
"text": "$actionbar_text",
"localize": false,
// ???
"alpha": "@hud.anim_actionbar_text_alpha_out"
}
}
]
},
// ???/?? ??
"anim_title_text_alpha_in": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": "$title_fade_in_time",
// 시작 값
"from": 0,
// 끝 값
"to": 1,
// 다음 애니메이션으로 연결
"next": "@hud.anim_title_text_alpha_stay"
},
// ???/?? ??
"anim_title_text_alpha_stay": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": "$title_stay_time",
// 다음 애니메이션으로 연결
"next": "@hud.anim_title_text_alpha_out"
},
// ???/?? ??
"anim_title_text_alpha_out": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": "$title_fade_out_time",
// 시작 값
"from": 1,
// 끝 값
"to": 0,
"destroy_at_end": "hud_title_text",
"end_event": "hud_title_text_complete"
},
// ???/?? ??
"anim_title_background_alpha_in": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": "$title_fade_in_time",
// 시작 값
"from": 0,
// 끝 값
"to": "$title_alpha",
// 다음 애니메이션으로 연결
"next": "@hud.anim_title_background_alpha_stay"
},
// ???/?? ??
"anim_title_background_alpha_stay": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": "$title_stay_time",
// 다음 애니메이션으로 연결
"next": "@hud.anim_title_background_alpha_out"
},
// ???/?? ??
"anim_title_background_alpha_out": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": "$title_fade_out_time",
// 시작 값
"from": "$title_alpha",
// 끝 값
"to": 0,
"destroy_at_end": "hud_title_text",
"end_event": "hud_title_text_complete"
},
// ???/?? ??
"anim_subtitle_text_alpha_in": {
// 투명도 변화
"anim_type": "alpha",
"play_event": "anim_subtitle_text_alpha_in_play_event",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": "$title_fade_in_time",
// 시작 값
"from": 0,
// 끝 값
"to": 1,
// 다음 애니메이션으로 연결
"next": "@hud.anim_subtitle_text_alpha_stay"
},
// ???/?? ??
"anim_subtitle_text_alpha_stay": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": "$title_stay_time",
// 다음 애니메이션으로 연결
"next": "@hud.anim_subtitle_text_alpha_out"
},
// ???/?? ??
"anim_subtitle_text_alpha_out": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": "$title_fade_out_time",
// 시작 값
"from": 1,
// 끝 값
"to": 0,
"end_event": "hud_subtitle_text_complete"
},
// ???/?? ??
"anim_subtitle_background_alpha_in": {
// 투명도 변화
"anim_type": "alpha",
"play_event": "anim_subtitle_text_alpha_in_play_event",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": "$title_fade_in_time",
// 시작 값
"from": 0,
// 끝 값
"to": "$title_alpha",
// 다음 애니메이션으로 연결
"next": "@hud.anim_subtitle_background_alpha_stay"
},
// ???/?? ??
"anim_subtitle_background_alpha_stay": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": "$title_stay_time",
// 다음 애니메이션으로 연결
"next": "@hud.anim_subtitle_background_alpha_out"
},
// ???/?? ??
"anim_subtitle_background_alpha_out": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": "$title_fade_out_time",
// 시작 값
"from": "$title_alpha",
// 끝 값
"to": 0,
"end_event": "hud_subtitle_text_complete"
},
// ???/?? ??
"hud_title_text": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점에서 이동하는 거리
"offset": [0, -19],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ???
"alpha": "@hud.anim_title_text_alpha_in",
"propagate_alpha": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"title_frame": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%cm"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"title_background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": ["100%sm + 30px", "100%sm + 6px"],
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// ???
"alpha": "@hud.anim_title_background_alpha_in"
}
},
{
// ???/?? ??
"title": {
// 글자 표시
"type": "label",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// ?? (R,G,B,A)
"color": "$title_command_text_color",
// 보여줄 글자
"text": "#text",
// 겹치는 순서(숫자 클수록 위)
"layer": 31,
"localize": false,
"font_size": "extra_large",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "(not $title_shadow)",
// 오버라이드 가능한 변수
"$show_shadow": false
},
{
// 이 조건이 맞으면 적용
"requires": "$title_shadow",
// 오버라이드 가능한 변수
"$show_shadow": true
}
],
"shadow": "$show_shadow",
// ?? ??
"text_alignment": "center",
// 기준점에서 이동하는 거리
"offset": [0, 6],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
}
]
}
},
{
// ???/?? ??
"subtitle_frame": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%cm"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"subtitle_background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": ["100%sm + 20px", "100%sm + 5px"],
// 기준점에서 이동하는 거리
"offset": [0, 16],
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$subtitle_initially_visible",
// 오버라이드 가능한 변수
"$subtitle_bg": "@hud.anim_title_background_alpha_in"
},
{
// 이 조건이 맞으면 적용
"requires": "(not $subtitle_initially_visible)",
// 오버라이드 가능한 변수
"$subtitle_bg": "@hud.anim_subtitle_background_alpha_in"
}
],
// ???
"alpha": "$subtitle_bg"
}
},
{
// ???/?? ??
"subtitle": {
// 글자 표시
"type": "label",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// ?? (R,G,B,A)
"color": "$title_command_text_color",
// 보여줄 글자
"text": "#text",
// 겹치는 순서(숫자 클수록 위)
"layer": 31,
"localize": false,
"font_size": "large",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$subtitle_initially_visible",
// 오버라이드 가능한 변수
"$anim_type": 1.0
},
{
// 이 조건이 맞으면 적용
"requires": "(not $subtitle_initially_visible)",
// 오버라이드 가능한 변수
"$anim_type": "@hud.anim_subtitle_text_alpha_in"
},
{
// 이 조건이 맞으면 적용
"requires": "(not $title_shadow)",
// 오버라이드 가능한 변수
"$show_shadow": false
},
{
// 이 조건이 맞으면 적용
"requires": "$title_shadow",
// 오버라이드 가능한 변수
"$show_shadow": true
}
],
"shadow": "$show_shadow",
// ???
"alpha": "$anim_type",
// ?? ??
"text_alignment": "center",
// 기준점에서 이동하는 거리
"offset": [1, 19],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_subtitle_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
}
]
}
}
]
},
// ???/?? ??
"boss_name_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%c"],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"boss_name": {
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$boss_name_text_color",
// 보여줄 글자
"text": "#bossName",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
"shadow": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#bossName",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "boss_bars"
}
]
}
}
]
},
// ???/?? ??
"tooltip_helper_icon_description": {
// 글자 표시
"type": "label",
// 오버라이드 가능한 변수
"$tooltip_helper_description_size|default": ["fill", "default"],
// 가로/세로 크기
"size": "$tooltip_helper_description_size",
// 오버라이드 가능한 변수
"$tooltip_helper_description_max_size|default": ["fill", "default"],
"max_size": "$tooltip_helper_description_max_size",
// ?? (R,G,B,A)
"color": "$gamepad_description_text_color",
// 오버라이드 가능한 변수
"$tooltip_helper_description_shadow|default": true,
"shadow": "$tooltip_helper_description_shadow",
// 오버라이드 가능한 변수
"$tooltip_description_offset|default": [0, 0],
// 기준점에서 이동하는 거리
"offset": "$tooltip_description_offset",
// 오버라이드 가능한 변수
"$tooltip_anchor": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "$tooltip_anchor",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$tooltip_anchor",
// 오버라이드 가능한 변수
"$tip_description_font|default": "default",
// ??
"font_type": "$tip_description_font",
// 보여줄 글자
"text": "#helper_description",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"label_background": {
// 오버라이드 가능한 변수
"$tip_description_background_offset|default": [0, 0],
// 오버라이드 가능한 변수
"$tip_description_background_visible|default": true,
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// ???
"alpha": 0.5,
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 기준점에서 이동하는 거리
"offset": "$tip_description_background_offset",
// 가로/세로 크기
"size": ["100% + 2px", "100% + 2px"],
// 보이기/숨기기(공간 유지)
"visible": "$tip_description_background_visible"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
// Duplicate binding necessary when toggling visibility
// otherwise there is a delay when updating binds
//
// No condition has it update immediately when it
// becomes visible but won't update if the tooltip
// changes later.
//
// Always when visible condition lets it change but
// has a delay in binding timing when it first becomes
// visible.
{
// 가져올 값 이름
"binding_name": "#helper_description",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$tooltip_collection_name",
// ?? ???
"binding_condition": "always_when_visible"
},
{
// 가져올 값 이름
"binding_name": "#helper_description",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$tooltip_collection_name",
// ?? ???
"binding_condition": "visible"
}
]
},
// ???/?? ??
"tooltip_helper": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": ["100%", "100%cm"],
// 겹치는 순서(숫자 클수록 위)
"layer": 100,
// 이 안에 들어가는 부품 목록
"controls": [
{"icon@$icon_image_ref": {"layer": 2}},
{"padding@common.empty_panel": {"size": [2, "100%sm"]}},
{
// ???/?? ??
"centerer": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%sm"],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{"desc@hud.tooltip_helper_icon_description": {}}
]
}
}
]
},
// ???/?? ??
"tooltip_helper_form_fitting": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": ["100%c", "100%cm"],
// 겹치는 순서(숫자 클수록 위)
"layer": 100,
// 이 안에 들어가는 부품 목록
"controls": [
{"icon@$icon_image_ref": {"layer": 2}},
{"padding@common.empty_panel": {"size": [2, "100%sm"]}},
{
// ???/?? ??
"centerer": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%c", "100%sm"],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{"desc@hud.tooltip_helper_icon_description": {}}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"keyboard_tooltip_helper@hud.tooltip_helper": {
// 완전히 제거(공간도 없음)
"ignored": "(not $education_edition)",
// 오버라이드 가능한 변수
"$keyboard_description_offset|default": [0, 1],
// 오버라이드 가능한 변수
"$tooltip_description_offset": "$keyboard_description_offset"
},
// 다른 템플릿을 가져와서 확장(상속)
"keyboard_tooltip_helper_form_fitting@hud.tooltip_helper_form_fitting": {
// 완전히 제거(공간도 없음)
"ignored": "(not $education_edition)",
// 오버라이드 가능한 변수
"$keyboard_description_offset|default": [0, 1],
// 오버라이드 가능한 변수
"$tooltip_description_offset": "$keyboard_description_offset"
},
// Wrap in panel so @mixed_tooltip_helper doesn't override binds
"mixed_tooltip_helper": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%cm"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"gamepad_tooltip@hud.tooltip_helper": {
// 오버라이드 가능한 변수
"$icon_image_ref": "hud.base_icon_image",
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_gamepad_tip",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"keyboard_tooltip@hud.keyboard_tooltip_helper": {
// 오버라이드 가능한 변수
"$icon_image_ref": "hud.base_keyboard_icon",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #is_gamepad_tip)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
],
// 오버라이드 가능한 변수
"$tooltip_collection_name|default": "",
// 오버라이드 가능한 변수
"$tooltip_collection_prefix|default": "",
// 게임 값과 연결하는 규칙 목록
"bindings": [
// Duplicate binding necessary when toggling visibility
// otherwise there is a delay when updating binds
//
// No condition has it update immediately when it
// becomes visible but won't update if the tooltip
// changes later.
//
// Always condition lets it change but has a delay in
// binding timing when it first becomes visible.
{
// 가져올 값 이름
"binding_name": "#tooltip_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$tooltip_collection_name",
// ?? ???
"binding_condition": "always"
},
{
// 가져올 값 이름
"binding_name": "#tooltip_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$tooltip_collection_name"
}
]
},
// ???/?? ??
"mixed_tooltip_helper_form_fitting": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%cm", "100%cm"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"gamepad_tooltip@hud.tooltip_helper_form_fitting": {
// 오버라이드 가능한 변수
"$icon_image_ref": "hud.base_icon_image",
// 보이기/숨기기(공간 유지)
"visible": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_gamepad_tip",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"keyboard_tooltip@hud.keyboard_tooltip_helper_form_fitting": {
// 오버라이드 가능한 변수
"$icon_image_ref": "hud.base_keyboard_icon",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #is_gamepad_tip)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
],
// 오버라이드 가능한 변수
"$tooltip_collection_name|default": "",
// 오버라이드 가능한 변수
"$tooltip_collection_prefix|default": "",
// 게임 값과 연결하는 규칙 목록
"bindings": [
// Duplicate binding necessary when toggling visibility
// otherwise there is a delay when updating binds
//
// No condition has it update immediately when it
// becomes visible but won't update if the tooltip
// changes later.
//
// Always condition lets it change but has a delay in
// binding timing when it first becomes visible.
{
// 가져올 값 이름
"binding_name": "#tooltip_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$tooltip_collection_name",
// ?? ???
"binding_condition": "always"
},
{
// 가져올 값 이름
"binding_name": "#tooltip_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$tooltip_collection_name"
}
]
},
// ???/?? ??
"base_icon_image": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": ["100%c", "100%cm"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [26, 26],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#gamepad_button_icon",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$tooltip_collection_name",
// ?? ???
"binding_condition": "visible"
}
]
}
},
{
// ???/?? ??
"postfix_label_wrapper": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%c", "100%sm"],
"min_size": [9, "100%sm"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"label": {
// 글자 표시
"type": "label",
// ??
"font_type": "smooth",
// ?? (R,G,B,A)
"color": "$gamepad_description_text_color",
// 보여줄 글자
"text": "#gamepad_postfix_text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#gamepad_postfix_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$tooltip_collection_name",
// ?? ???
"binding_condition": "visible"
}
]
}
}
]
}
}
]
},
// ???/?? ??
"base_keyboard_icon": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// Outer panel provides padding between neighboring tooltips
"size": ["100%c + 2px", "100%c + 2px"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"icon": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%cm", 17],
"min_size": [17, 17],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"key_backing": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/keyboard_tooltip_background",
// 가로/세로 크기
"size": ["100%cm + 10px", "100%"],
"min_size": [17, "100%"],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #is_mouse_button)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$tooltip_collection_name"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"key_label": {
// 글자 표시
"type": "label",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ??
"font_type": "smooth",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [0, 1],
// 보여줄 글자
"text": "#keyboard_key_text",
// ?? (R,G,B,A)
"color": "$0_color_format",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#keyboard_key_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$tooltip_collection_name"
}
]
}
}
]
}
},
{
// ???/?? ??
"mouse_buttons": {
// 글자 표시
"type": "label",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 보여줄 글자
"text": "#keyboard_key_text",
// ?? (R,G,B,A)
"color": "$dark_body_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#keyboard_key_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$tooltip_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "key_backing",
// 계산식/참조 값
"source_property_name": "#visible",
// 결과가 들어갈 속성
"target_property_name": "#visible",
"resolve_sibling_scope": true
}
]
}
}
]
}
}
]
},
// ???/?? ??
"left_helpers_edu": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 기준점에서 이동하는 거리
"offset": [3, 0],
// 겹치는 순서(숫자 클수록 위)
"layer": 100,
// 가로/세로 크기
"size": ["100%", "100%c"],
// 오버라이드 가능한 변수
"$tooltip_helper_description_shadow": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"tip_window@common.tooltip_background": {
// 오버라이드 가능한 변수
"$tooltip_background_texture": "#texture",
// 오버라이드 가능한 변수
"$tip_description_font": "smooth",
// 오버라이드 가능한 변수
"$keyboard_description_offset": [0, 0],
// 가로/세로 크기
"size": ["100%cm + 10px", "100%cm + 18px"],
// ???
"alpha": 0.7,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": ["100%cm", "100%c"],
// 기준점에서 이동하는 거리
"offset": [0, -5],
// 오버라이드 가능한 변수
"$tooltip_collection_name": "left_helper_collection",
// 오버라이드 가능한 변수
"$tooltip_collection_prefix": "left_helpers",
// 목록 이름
"collection_name": "$tooltip_collection_name",
// 오버라이드 가능한 변수
"$tooltip_helper_description_size": [
"default",
10
],
// 목록 아이템을 자동으로 생성
"factory": {
"name": "left_tooltip_factory",
// ??? ???
"control_name": "hud.mixed_tooltip_helper_form_fitting"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#left_helper_count",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#left_tips_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "controls_toggle",
// ?? ???
"binding_condition": "always"
},
{
// 가져올 값 이름
"binding_name": "#left_tip_background",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "controls_toggle"
}
]
}
},
{"tip_paddding@common.empty_panel": {"size": ["100%sm", 4]}},
{
// ???/?? ??
"controls_toggle_label": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%cm"],
// 오버라이드 가능한 변수
"$tooltip_collection_name": "controls_toggle",
// 오버라이드 가능한 변수
"$gamepad_helper_visible_binding_type": "none",
// 오버라이드 가능한 변수
"$tip_description_background_visible": true,
// 오버라이드 가능한 변수
"$tip_description_background_offset": [0, 0],
// 오버라이드 가능한 변수
"$tooltip_helper_description_size": ["default", 10],
// 이 안에 들어가는 부품 목록
"controls": [{"tip@hud.mixed_tooltip_helper": {}}]
}
},
{
// ???/?? ??
"controls_inventory_label": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%cm"],
// 오버라이드 가능한 변수
"$tooltip_collection_name": "controls_inventory_prompts_toggle",
// 오버라이드 가능한 변수
"$gamepad_helper_visible_binding_type": "none",
// 오버라이드 가능한 변수
"$tip_description_background_visible": true,
// 오버라이드 가능한 변수
"$tip_description_background_offset": [0, 0],
// 오버라이드 가능한 변수
"$tooltip_helper_description_size": ["default", 10],
// 이 안에 들어가는 부품 목록
"controls": [{"tip@hud.mixed_tooltip_helper": {}}]
}
},
{
// ???/?? ??
"controls_menu_label": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%cm"],
// 오버라이드 가능한 변수
"$tooltip_collection_name": "controls_menu_prompts_toggle",
// 오버라이드 가능한 변수
"$gamepad_helper_visible_binding_type": "none",
// 오버라이드 가능한 변수
"$tip_description_background_visible": true,
// 오버라이드 가능한 변수
"$tip_description_background_offset": [0, 0],
// 오버라이드 가능한 변수
"$tooltip_helper_description_size": ["default", "default"],
// 오버라이드 가능한 변수
"$tooltip_helper_description_max_size": [
"50% - 125px",
"20px"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"tip@hud.mixed_tooltip_helper": {}
}
]
}
}
]
},
// ???/?? ??
"left_helpers": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 기준점에서 이동하는 거리
"offset": [10, 0],
// 가로/세로 크기
"size": ["100%", "100%c"],
"max_size": ["100%", "50%"],
// 오버라이드 가능한 변수
"$tooltip_description_offset": [-10, 0.5],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": ["100%", "100%c"],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 오버라이드 가능한 변수
"$tooltip_collection_name": "left_helper_collection",
// 오버라이드 가능한 변수
"$tooltip_collection_prefix": "left_helpers",
// 목록 이름
"collection_name": "$tooltip_collection_name",
// 오버라이드 가능한 변수
"$tooltip_helper_description_size": ["default", 10],
// 목록 아이템을 자동으로 생성
"factory": {
"name": "left_tooltip_factory",
// ??? ???
"control_name": "hud.mixed_tooltip_helper"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #emote_tips_visible)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#left_helper_count",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}
]
}
}
]
},
// ???/?? ??
"emote_label_background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [100, 24],
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// ???
"alpha": 0.7,
// 겹치는 순서(숫자 클수록 위)
"layer": 0
},
// 다른 템플릿을 가져와서 확장(상속)
"emote_tip@hud.emote_label_background": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"emote_keyboard_centerer": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [100, 26],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"emote_keyboard_helper@common.keyboard_helper_keys": {
// 겹치는 순서(숫자 클수록 위)
"layer": 100,
// 오버라이드 가능한 변수
"$icon_size_panel": [17, "100%"],
// 오버라이드 가능한 변수
"$keyboard_helper_size": [96, 24], // 96 to create a small horizontal margin in the 100 size panel
// 오버라이드 가능한 변수
"$keyboard_character": "$keyboard_keyname",
// 오버라이드 가능한 변수
"$text_color": "$generic_button_text_color",
// 오버라이드 가능한 변수
"$description_bind": "$emote_tip_description",
// 오버라이드 가능한 변수
"$keyboard_description_max_size": [79, "100%"] // 79 To account for the size of the image
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"emote_gamepad_helper@$gamepad_helper_button_name": {
// 오버라이드 가능한 변수
"$icon_description_bind": "$emote_tip_description",
// 오버라이드 가능한 변수
"$gamepad_description_max_size": [79, 24], // 79 To account for the size of the image
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_using_gamepad",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
},
// ???/?? ??
"emote_expediate_helpers": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 가로/세로 크기
"size": ["100%", "100%c"],
"max_size": ["100%", "50%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": ["100%", "100%c"],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 오버라이드 가능한 변수
"$gamepad_helper_visible_binding_type": "none",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"emote_tip_0@hud.emote_tip": {
// 오버라이드 가능한 변수
"$keyboard_keyname": "keyboard.keyname.1",
// 오버라이드 가능한 변수
"$emote_tip_description": "#button_emote_0_description",
// 오버라이드 가능한 변수
"$gamepad_helper_button_name": "common.gamepad_helper_y"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"emote_tip_1@hud.emote_tip": {
// 오버라이드 가능한 변수
"$keyboard_keyname": "keyboard.keyname.2",
// 오버라이드 가능한 변수
"$emote_tip_description": "#button_emote_1_description",
// 오버라이드 가능한 변수
"$gamepad_helper_button_name": "common.gamepad_helper_b"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"emote_tip_2@hud.emote_tip": {
// 오버라이드 가능한 변수
"$keyboard_keyname": "keyboard.keyname.3",
// 오버라이드 가능한 변수
"$emote_tip_description": "#button_emote_2_description",
// 오버라이드 가능한 변수
"$gamepad_helper_button_name": "common.gamepad_helper_a"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"emote_tip_3@hud.emote_tip": {
// 오버라이드 가능한 변수
"$keyboard_keyname": "keyboard.keyname.4",
// 오버라이드 가능한 변수
"$emote_tip_description": "#button_emote_3_description",
// 오버라이드 가능한 변수
"$gamepad_helper_button_name": "common.gamepad_helper_x"
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#emote_tips_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// ???/?? ??
"right_helpers": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 가로/세로 크기
"size": ["fill", "100%c"],
"max_size": ["100%", "50%"],
// 오버라이드 가능한 변수
"$tooltip_description_offset": [-10, 0.5],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$education_edition",
// 오버라이드 가능한 변수
"$tip_description_background_visible": true,
// 오버라이드 가능한 변수
"$tip_description_background_offset": [0, 0],
// 오버라이드 가능한 변수
"$tooltip_helper_description_shadow": false
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"stack_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": ["100%cm", "100%c"],
"min_size": [75, "100%c"],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 오버라이드 가능한 변수
"$tooltip_collection_name": "right_helper_collection",
// 오버라이드 가능한 변수
"$tooltip_collection_prefix": "right_helpers",
// 목록 이름
"collection_name": "$tooltip_collection_name",
// 오버라이드 가능한 변수
"$tooltip_helper_description_size": ["default", 10],
// 목록 아이템을 자동으로 생성
"factory": {
"name": "right_tooltip_factory",
// ??? ???
"control_name": "hud.mixed_tooltip_helper_form_fitting"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#right_helper_count",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}
]
}
}
]
},
// ???/?? ??
"boss_health_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [182, 20],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 오버라이드 가능한 변수
"$progress_bar_collection": "boss_bars",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"boss_name@boss_name_panel": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"progress_bar_for_collections@common.progress_bar_for_collections": {
// 기준점에서 이동하는 거리
"offset": [0, 10]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#bar_visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "boss_bars",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
// ???/?? ??
"boss_health_grid": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
"grid_dimension_binding": "#boss_grid_dimension",
"grid_item_template": "hud.boss_health_panel",
"grid_fill_direction": "vertical",
// 목록 이름
"collection_name": "boss_bars",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 가로/세로 크기
"size": [182, "30%"],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #on_new_death_screen)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"wysiwyg_reset_modal_ok@library_modal.modal_button": {
// 오버라이드 가능한 변수
"$button_mapping": "button.confirm_reset",
// 오버라이드 가능한 변수
"$button_text": "hudScreen.controlCustomization.resetConfirm"
},
// 다른 템플릿을 가져와서 확장(상속)
"wysiwyg_reset_modal_cancel@library_modal.modal_button": {
// 오버라이드 가능한 변수
"$button_mapping": "button.cancel_reset",
// 오버라이드 가능한 변수
"$button_text": "hudScreen.controlCustomization.resetCancel"
},
// 다른 템플릿을 가져와서 확장(상속)
"wysiwyg_close_without_saving_modal_ok@library_modal.modal_button": {
// 오버라이드 가능한 변수
"$button_mapping": "button.confirm_close_without_saving",
// 오버라이드 가능한 변수
"$button_text": "hudScreen.controlCustomization.closeWithoutSavingConfirm"
},
// 다른 템플릿을 가져와서 확장(상속)
"wysiwyg_close_without_saving_modal_cancel@library_modal.modal_button": {
// 오버라이드 가능한 변수
"$button_mapping": "button.cancel_close_without_saving",
// 오버라이드 가능한 변수
"$button_text": "hudScreen.controlCustomization.closeWithoutSavingCancel"
},
/*
Hi there!
-
I did my best to explain how UI actually works, hoping it will help anyone that is interested of how my UI elements works -
So i hope you have learned something from my addon codes that could make you a better addons developer!
-
Make sure to join my discord server < https://discord.com/invite/DfXSekP8T3 > if you have any suggestions for future addons.
Also make sure to report all bugs you might find, so i can fix it as soon as possible!
Keep in mind that most of the bugs is actually from the game and I don't have the ability to fix them.
-
Have a good day!
*/
// "hud_title_text/title_frame/title":{"modifications":[{"array_name":"bindings","operation":"insert_back","value":[{"binding_type":"view","source_property_name":"((#text - 'xHydTB:' - 'xEhydTB:') = #text)","target_property_name":"#visible"}]}]},
// ^ Used to hide a specific type of titles. ^
// ^ Used to move up the rideable mobs health. ^
// "centered_gui_elements_at_bottom_middle":{"modifications":[{"array_name":"controls","operation":"insert_front","value":[{"thirstbar_background@hud.thirstbar_background":{"anchor_from":"bottom_middle","anchor_to":"bottom_middle","offset":[50,-42.5]}},{"thirstbar_effect_panel@hud.thirstbar_effect_panel":{"anchor_from":"bottom_middle","anchor_to":"bottom_middle","offset":[50,-42.5]}}]}]},
// ^ Used to render the UI elements correctly for pc users. ^
// "thirstbar_background":{// Used to add the thirst bar background to the hud UI.
// "type":"image",
// "texture":"textures/ui/muck/hp_empty",
// "size":[43,37],// Note* the image size needs to match the actual size of the texture, if it was 16×16, the image size needs to be [16,16] otherwise the progress bar will be glitched.
// "bindings":[{"binding_name":"#show_survival_ui","binding_name_override":"#visible"}],// This will make the element visible only on survival.
// "controls":[{"thirstbar_progress@thirstbar_progress":{}}]// Needed to render the thirst bar.
// },
// "thirstbar_progress":{
// "type":"image",
// "texture":"textures/ui/muck/hp_full",
// "size":["100%","100%"],// Making sure that the thirst progress bar size will match the thirst background.
// "layer":1,// Making it appear above the background.
// "$max_health":20.0,// Used to update the filling quantity of the thirst bar, being 20 is a full bar, 10 is a half bar and 0 being empty.
// "clip_direction":"right",
// "clip_pixelperfect":false,
// "bindings":[
// {
// "binding_type":"view",
// "source_control_name":"thirstbar_control",// Needed to update the thirst bar quantity.
// "source_property_name":"((#preserved_text - $update_string) * 1)",
// "target_property_name":"#health"
// },
// {
// "binding_type":"view",
// "source_property_name":"(($max_health - #health) / $max_health)",
// "target_property_name":"#clip_ratio"
// }
// ]
// },
// "thirstbar_effect_panel":{// Used to apply a new UI element to the screen after a specific title has been sent.
// "type":"panel",
// "size":[79,9],
// "controls":[
// {
// "thirstbar_effect_background":{
// "type":"image",
// "texture":"textures/ui/Black",
// "bindings":[// It's hidden by default.
// {"binding_name":"#show_survival_ui"},
// {
// "binding_type":"view",
// "source_control_name":"thirstbar_effect_control",
// "source_property_name":"('@' + #preserved_text - $update_text = '@true')",// Showing up the effected bar when the title has the needed words along with 'true', so any titles that has the needed words but without 'true' will cause the effected bar to hide.
// "target_property_name":"#is_visible"
// },
// {
// "binding_type":"view",
// "source_property_name":"(#show_survival_ui and #is_visible)",
// "target_property_name":"#visible"
// }
// ],
// "controls":[{"thirstbar_effect_progress@thirstbar_effect_progress":{}}]
// }
// },
// {
// "thirstbar_effect_control":{
// "type":"panel",
// "bindings":[
// {"binding_name":"#hud_title_text_string"},
// {
// "binding_name":"#hud_title_text_string",
// "binding_name_override":"#preserved_text",
// "binding_condition":"visibility_changed"
// },
// {
// "binding_type":"view",
// "source_property_name":"(not ('@' + #hud_title_text_string = '@' + #preserved_text) and not (('@' + #hud_title_text_string - $update_text) = '@' + #hud_title_text_string))",
// "target_property_name":"#visible"
// }
// ]
// }
// }
// ]
// },
// "thirstbar_effect_progress":{// The same exact system as the thirst progress bar, but with the effected texture, there is a better way to do it by changing the image texture using bindings and controls, but i haven't figured out how.
// "type":"image",
// "texture":"textures/ui/Black",
// "size":["100%","100%"],
// "layer":2,
// "$max_health":20.0,
// "clip_direction":"right",
// "clip_pixelperfect":false,
// "bindings":[
// {
// "binding_type":"view",
// "source_control_name":"thirstbar_control",
// "source_property_name":"((#preserved_text - $update_string) * 1)",
// "target_property_name":"#health"
// },
// {
// "binding_type":"view",
// "source_property_name":"(($max_health - #health) / $max_health)",
// "target_property_name":"#clip_ratio"
// }
// ]
// },
// "thirstbar_renderer":{// Used to change the offset of the thirst bar depending on the screen panel type (desktop or pocket).
// "type":"panel",
// "$ignore_desktop":true,
// "$ignore_pocket":false,// By default it's visible only for pocket users.
// "variables":[
// {
// "requires":"$desktop_screen",
// "$ignore_desktop":false,
// "$ignore_pocket":true// Now it's visible only for desktop users.
// }
// ],
// "bindings":[{"binding_name":"(not (#hud_visible_centered))","binding_name_override":"#visible"}],// Used to hide the mobile UI elements for pc users.
// "controls":[// Used to change the offset of the thirst bar (desktop or pocket).
// {"desktop_hud@thirstbar_background":{"ignored":"$ignore_desktop","anchor_from":"bottom_middle","anchor_to":"bottom_middle","offset":[60,-42.5]}},{"desktop_effect_hud@thirstbar_effect_panel":{"ignored":"$ignore_desktop","anchor_from":"bottom_middle","anchor_to":"bottom_middle","offset":[60,-42.5]}},
// {"pocket_hud@thirstbar_background":{"ignored":"$ignore_pocket","anchor_from":"top_right","anchor_to":"top_right","offset":[-3,12.5]}},{"pocket_effect_hud@thirstbar_effect_panel":{"ignored":"$ignore_pocket","anchor_from":"top_right","anchor_to":"top_right","offset":[-3,12.5]}}
// ]
// },
"hud_title_text/title_frame/title": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "bindings",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#text = 'hide title')",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
]
},
// ???/?? ??
"root_panel": {
// "$update_string":"xHydTB:",// Needed to update the effected bar filling quantity.
// "$update_text":"xEhydTB:",// Needed to hide/show the effected bar.
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
// {
// "bars_factory@custom_hud.bars_factory": {}
// }
// ,
// {
// "bossbar_bar_factory@hud_bossbar.bossbar_bar_factory": {}
// }
]
}
],
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$xp_control_offset|default": [0, -13],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$education_edition",
// 오버라이드 가능한 변수
"$left_helpers": "hud.left_helpers_edu"
},
{
// 이 조건이 맞으면 적용
"requires": "(not $education_edition)",
// 오버라이드 가능한 변수
"$left_helpers": "hud.left_helpers"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"preserved_title_display": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$upd_str": "powerup_update",
// 가로/세로 크기
"size": ["100%c", "100%c"],
// 기준점에서 이동하는 거리
"offset": [-20, 20],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"title_text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control",
// 계산식/참조 값
"source_property_name": "(#preserved_text - $upd_str)",
// 결과가 들어갈 속성
"target_property_name": "#text",
"resolve_sibling_scope": true
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control",
// 계산식/참조 값
"source_property_name": "(not (#preserved_text = $upd_str))",
// 결과가 들어갈 속성
"target_property_name": "#visible",
"resolve_sibling_scope": true
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"title_bg": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// 가로/세로 크기
"size": [
"100% + 10px",
"100% + 4px"
],
"fill": true,
// ???
"alpha": 0.5,
// 겹치는 순서(숫자 클수록 위)
"layer": -1
}
}
]
}
},
{
// ???/?? ??
"data_control": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [0, 0],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#preserved_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #preserved_text) and not ((#hud_title_text_string - $upd_str) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
},
{
// ???/?? ??
"preserved_title_display2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$upd_str2": "scoreboard",
// 가로/세로 크기
"size": ["100%c", "100%c"],
// 기준점에서 이동하는 거리
"offset": [5, 0],
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"title_text2": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control2",
// 계산식/참조 값
"source_property_name": "(#preserved_text2 - $upd_str2)",
// 결과가 들어갈 속성
"target_property_name": "#text",
"resolve_sibling_scope": true
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control2",
// 계산식/참조 값
"source_property_name": "(not (#preserved_text2 = $upd_str2))",
// 결과가 들어갈 속성
"target_property_name": "#visible",
"resolve_sibling_scope": true
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"title_bg2": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// 가로/세로 크기
"size": [
"100% + 10px",
"100% + 4px"
],
"fill": true,
// ???
"alpha": 0.5,
// 겹치는 순서(숫자 클수록 위)
"layer": -1
}
}
]
}
},
{
// ???/?? ??
"data_control2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [0, 0],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#preserved_text2",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #preserved_text2) and not ((#hud_title_text_string - $upd_str2) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
},
{
// ???/?? ??
"preserved_title_display3": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$upd_str3": "top",
// 가로/세로 크기
"size": ["100%c", "100%c"],
// 기준점에서 이동하는 거리
"offset": [0, 20],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"title_text3": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control3",
// 계산식/참조 값
"source_property_name": "(#preserved_text3 - $upd_str3)",
// 결과가 들어갈 속성
"target_property_name": "#text",
"resolve_sibling_scope": true
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control3",
// 계산식/참조 값
"source_property_name": "(not (#preserved_text3 = $upd_str3))",
// 결과가 들어갈 속성
"target_property_name": "#visible",
"resolve_sibling_scope": true
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"title_bg3": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// 가로/세로 크기
"size": [
"100% + 10px",
"100% + 4px"
],
"fill": true,
// ???
"alpha": 0.5,
// 겹치는 순서(숫자 클수록 위)
"layer": -1
}
}
]
}
},
{
// ???/?? ??
"data_control3": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [0, 0],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#preserved_text3",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #preserved_text3) and not ((#hud_title_text_string - $upd_str3) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
},
// {
// "preserved_title_display4": {
// "type": "panel",
// "$upd_str4": "main_stats",
// "size": ["100%c", "100%c"],
// "offset": [0, 0],
// "anchor_to": "bottom_right",
// "anchor_from": "bottom_right",
// "controls": [
// {
// "title_text4": {
// "type": "label",
// "text": "#text",
// "bindings": [
// {
// "binding_type": "view",
// "source_control_name": "data_control4",
// "source_property_name": "(#preserved_text4 - $upd_str4)",
// "target_property_name": "#text",
// "resolve_sibling_scope": true
// },
// {
// "binding_type": "view",
// "source_control_name": "data_control4",
// "source_property_name": "(not (#preserved_text4 = $upd_str4))",
// "target_property_name": "#visible",
// "resolve_sibling_scope": true
// }
// ]
// ,
// "controls": [
// {
// "title_bg4": {
// "type": "image",
// "texture": "textures/ui/hud_tip_text_background",
// "size": [
// "100% + 10px",
// "100% + 4px"
// ],
// "fill": true,
// "alpha": 0.5,
// "layer": -1
// }
// }
// ]
// }
// },
// {
// "data_control4": {
// "type": "panel",
// "size": [0, 0],
// "bindings": [
// {
// "binding_name": "#hud_title_text_string"
// },
// {
// "binding_name": "#hud_title_text_string",
// "binding_name_override": "#preserved_text4",
// "binding_condition": "visibility_changed"
// },
// {
// "binding_type": "view",
// "source_property_name": "(not (#hud_title_text_string = #preserved_text4) and not ((#hud_title_text_string - $upd_str4) = #hud_title_text_string))",
// "target_property_name": "#visible"
// }
// ]
// }
// }
// ]
// }
// },
{
// ???/?? ??
"preserved_title_display5": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$upd_str5": "barbar",
// 가로/세로 크기
"size": ["100%c", "100%c"],
// 기준점에서 이동하는 거리
"offset": [0, -20],
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"title_bg5": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 오버라이드 가능한 변수
"$one": 1,
// 가로/세로 크기
"size": [
162,
13
],
// 오버라이드 가능한 변수
"$max_bossbar": 100.0,
"allow_clipping": true,
// ??? ??
"clip_direction": "left",
// ?? ??
"clip_pixelperfect": false,
// 사용할 이미지 경로
"texture": "textures/ui/muck/hp_full"
,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control5",
// 계산식/참조 값
"source_property_name": "((#health) * $one)",
// 결과가 들어갈 속성
"target_property_name": "#num",
"resolve_sibling_scope": true
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(($max_bossbar - #num) / $max_bossbar)",
// 결과가 들어갈 속성
"target_property_name": "#clip_ratio",
"resolve_sibling_scope": true
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control5",
// 계산식/참조 값
"source_property_name": "(not (#preserved_text5 = $upd_str5))",
// 결과가 들어갈 속성
"target_property_name": "#visible",
"resolve_sibling_scope": true
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"background": {
// 가로/세로 크기
"size": [
162,
13
],
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -2,
// 사용할 이미지 경로
"texture": "textures/ui/muck/hp_empty"
}
}
]
}
},
{
// 보여줄 글자
"text": {
// 글자 표시
"type": "label",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 보여줄 글자
"text": "#text"
,
// "font_type": "smooth",
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control5",
// 계산식/참조 값
"source_property_name": "(#health_number)",
// 결과가 들어갈 속성
"target_property_name": "#num",
"resolve_sibling_scope": true
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#num",
// 결과가 들어갈 속성
"target_property_name": "#text",
"resolve_sibling_scope": true
}
]
}
},
{
// ???/?? ??
"title_bg6": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 오버라이드 가능한 변수
"$one": 1,
// 가로/세로 크기
"size": [
162,
13
],
// 기준점에서 이동하는 거리
"offset": [0, 15],
// 오버라이드 가능한 변수
"$max_bossbar": 100.0,
"allow_clipping": true,
// ??? ??
"clip_direction": "left",
// ?? ??
"clip_pixelperfect": false,
// 사용할 이미지 경로
"texture": "textures/ui/muck/hunger_full"
,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control5",
// 계산식/참조 값
"source_property_name": "((#hunger) * $one)",
// 결과가 들어갈 속성
"target_property_name": "#num",
"resolve_sibling_scope": true
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(($max_bossbar - #num) / $max_bossbar)",
// 결과가 들어갈 속성
"target_property_name": "#clip_ratio",
"resolve_sibling_scope": true
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control5",
// 계산식/참조 값
"source_property_name": "(not (#preserved_text5 = $upd_str5))",
// 결과가 들어갈 속성
"target_property_name": "#visible",
"resolve_sibling_scope": true
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"background": {
// 가로/세로 크기
"size": [
162,
13
],
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -2,
// 사용할 이미지 경로
"texture": "textures/ui/muck/hunger_empty"
}
}
]
}
},
{
// ???/?? ??
"title_bg7": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 오버라이드 가능한 변수
"$one": 1,
// 가로/세로 크기
"size": [
162,
13
],
// 기준점에서 이동하는 거리
"offset": [0, 30],
// 오버라이드 가능한 변수
"$max_bossbar": 100.0,
"allow_clipping": true,
// ??? ??
"clip_direction": "left",
// ?? ??
"clip_pixelperfect": false,
// 사용할 이미지 경로
"texture": "textures/ui/muck/stamina_full"
,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control5",
// 계산식/참조 값
"source_property_name": "((#stamina) * $one)",
// 결과가 들어갈 속성
"target_property_name": "#num",
"resolve_sibling_scope": true
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(($max_bossbar - #num) / $max_bossbar)",
// 결과가 들어갈 속성
"target_property_name": "#clip_ratio",
"resolve_sibling_scope": true
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control5",
// 계산식/참조 값
"source_property_name": "(not (#preserved_text5 = $upd_str5))",
// 결과가 들어갈 속성
"target_property_name": "#visible",
"resolve_sibling_scope": true
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"background": {
// 가로/세로 크기
"size": [
162,
13
],
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -2,
// 사용할 이미지 경로
"texture": "textures/ui/muck/hunger_empty"
}
}
]
}
},
{
// ???/?? ??
"data_control5": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [0, 0],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#preserved_text5",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control5",
// 계산식/참조 값
"source_property_name": "(#preserved_text5 - $upd_str5)",
// 결과가 들어갈 속성
"target_property_name": "#text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#text - ':')",
// 결과가 들어갈 속성
"target_property_name": "#health"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#text - (':' + #health + ', ')",
// 결과가 들어갈 속성
"target_property_name": "#hunger"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#text - (':' + #health + ', ' + #hunger + ', ')",
// 결과가 들어갈 속성
"target_property_name": "#stamina"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#text - (':' + #health + ', ' + #hunger + ', ' + #stamina + ', ')",
// 결과가 들어갈 속성
"target_property_name": "#health_number"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #preserved_text5) and not ((#hud_title_text_string - $upd_str5) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
},
{
// ???/?? ??
"layout_customization_reset": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": ["200%", "200%"],
// 사용할 이미지 경로
"texture": "textures/ui/Black.png",
"fill": true,
// ???
"alpha": 0.5,
// 겹치는 순서(숫자 클수록 위)
"layer": 50,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"layout_customization_reset_modal@common_dialogs.main_panel_two_buttons": {
// 가로/세로 크기
"size": [210, 160],
// 오버라이드 가능한 변수
"$show_close_button": false,
// 오버라이드 가능한 변수
"$child_control": "library_modal.modal_text_content",
// 오버라이드 가능한 변수
"$top_button_panel": "hud.wysiwyg_reset_modal_ok",
// 오버라이드 가능한 변수
"$bottom_button_panel": "hud.wysiwyg_reset_modal_cancel",
// 오버라이드 가능한 변수
"$modal_text": "hudScreen.controlCustomization.resetModalText"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#reset_modal_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"layout_customization_close_without_saving": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": ["200%", "200%"],
// 사용할 이미지 경로
"texture": "textures/ui/Black.png",
"fill": true,
// ???
"alpha": 0.5,
// 겹치는 순서(숫자 클수록 위)
"layer": 50,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"layout_customization_close_without_saving_modal@common_dialogs.main_panel_two_buttons": {
// 가로/세로 크기
"size": [210, 160],
// 오버라이드 가능한 변수
"$show_close_button": false,
// 오버라이드 가능한 변수
"$child_control": "library_modal.modal_text_content",
// 오버라이드 가능한 변수
"$top_button_panel": "hud.wysiwyg_close_without_saving_modal_ok",
// 오버라이드 가능한 변수
"$bottom_button_panel": "hud.wysiwyg_close_without_saving_modal_cancel",
// 오버라이드 가능한 변수
"$modal_text": "hudScreen.controlCustomization.closeWithoutSavingModalText"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#close_without_saving_modal_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"layout_customization_main_panel@hud.layout_customization_main_panel": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"layout_customization_sub_panel@hud.layout_customization_sub_panel": {}
},
{
// ???/?? ??
"layout_customization_hint_drag_frame": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 40,
"use_anchored_offset": true,
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#anchored_offset_value_y": 0.0
},
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// 가로/세로 크기
"size": ["100%c+5px", "100%c+2px"],
// ???
"alpha": 0.5,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"layout_customization_hint_drag": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "hudScreen.controlCustomization.hintDrag",
// ?? (R,G,B,A)
"color": "$f_color_format"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hint_drag_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
},
{
// 가져올 값 이름
"binding_name": "#layout_customization_hint_offset_y",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#anchored_offset_value_y",
// ?? ???
"binding_condition": "visible"
}
]
}
},
{
// ???/?? ??
"layout_customization_hint_deselect_frame": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 40,
"use_anchored_offset": true,
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#anchored_offset_value_y": 0.0
},
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// 가로/세로 크기
"size": ["100%c+5px", "100%c+2px"],
// ???
"alpha": 0.5,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"layout_customization_hint_deselect": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "hudScreen.controlCustomization.hintDeselect",
// ?? (R,G,B,A)
"color": "$f_color_format"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hint_deselect_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
},
{
// 가져올 값 이름
"binding_name": "#layout_customization_hint_offset_y",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#anchored_offset_value_y",
// ?? ???
"binding_condition": "visible"
}
]
}
},
{
// ???/?? ??
"layout_customization_hint_saved": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 40,
"use_anchored_offset": true,
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#anchored_offset_value_y": 0.0
},
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// 가로/세로 크기
"size": ["100%c+5px", "100%c+2px"],
// ???
"alpha": 0.5,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"layout_customization_hint_saved": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "hudScreen.controlCustomization.hintSaved",
// ?? (R,G,B,A)
"color": "$f_color_format"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hint_saved_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
},
{
// 가져올 값 이름
"binding_name": "#layout_customization_hint_offset_y",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#anchored_offset_value_y",
// ?? ???
"binding_condition": "visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"left_helpers@$left_helpers": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"right_helpers@hud.right_helpers": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"emote_expediate_helpers@hud.emote_expediate_helpers": {}
},
{"centered_gui_elements@centered_gui_elements": {}},
{
// 다른 템플릿을 가져와서 확장(상속)
"centered_gui_elements_at_bottom_middle@centered_gui_elements_at_bottom_middle": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"centered_gui_elements_at_bottom_middle_touch@centered_gui_elements_at_bottom_middle_touch": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"centered_ridingvr_gui_elements@centered_gui_elements_at_bottom_middle": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [0, 60],
// 가로/세로 크기
"size": [180, 50],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_visible_centered_ridingvr",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{"not_centered_gui_elements@not_centered_gui_elements": {}},
{
// ???/?? ??
"gamertag_label_for_splitscreen": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": ["default", "default"],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [-4, 4],
// ?? (R,G,B,A)
"color": "$hud_gamertag_color",
// ?? ??
"text_alignment": "right",
// 보여줄 글자
"text": "#gamertag",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#gamertag"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"exp_rend@exp_progress_bar_and_hotbar": {
// for pocket
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hotbar_visible_not_centered",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"exp_rend_resizable@exp_progress_bar_and_hotbar_pocket": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hotbar_visible_not_centered_resizable",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{
// ???/?? ??
"hud_tip_text_factory": {
// 리스트를 자동으로 생성하는 공장
"type": "factory",
// ??? ???
"control_name": "@hud.hud_tip_text"
}
},
{
// ???/?? ??
"hud_actionbar_text_area": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 목록 아이템을 자동으로 생성
"factory": {
"name": "hud_actionbar_text_factory",
// 팩토리 템플릿 매핑
"control_ids": {
"hud_actionbar_text": "hud_actionbar_text@hud.hud_actionbar_text"
}
}
}
},
{
// ???/?? ??
"hud_title_text_area": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 목록 아이템을 자동으로 생성
"factory": {
"name": "hud_title_text_factory",
// 팩토리 템플릿 매핑
"control_ids": {
"hud_title_text": "hud_title_text@hud.hud_title_text"
}
}
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"mob_effects_renderer@mob_effects_renderer": {
// 가로/세로 크기
"size": ["100%", "75%"],
// 기준점에서 이동하는 거리
"offset": [0, 24],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#status_effects_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{"vignette_rend@vignette_renderer": {}},
{
// 다른 템플릿을 가져와서 확장(상속)
"curor_rend@cursor_renderer": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #on_new_death_screen)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"editor_volume_highlight_rend@editor_volume_highlight_renderer": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_editor_mode_paste_preview_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"game_tip@game_tip.game_tip_factory": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"sidebar@scoreboard.scoreboard_sidebar": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#scoreboard_sidebar_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"progress_rend@progress_indicator_renderer": {
// 기준점에서 이동하는 거리
"offset": ["50%", "50%"]
}
},
{
//We need to be able to move chat down the screen when we are in VR and riding.
//SO use a stack panel with a padding that we can ignore at runtime as needed
"chat_stack": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": ["40%", "100%"],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"paper_doll_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", 50],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#paper_doll_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"paper_doll_padding_living_room": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", 30],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#paper_doll_visible_living_room",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"vr_riding_chat_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", 132],
// 보이기/숨기기(공간 유지)
"visible": "#vr_riding", //Make this visible to move the chat panel down
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#vr_riding",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"vr_chat_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", 30],
// 보이기/숨기기(공간 유지)
"visible": "#vr_non_riding", //Make this visible to move the chat panel down
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#vr_non_riding",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"non_centered_gui_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", 32],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_visible_not_centered",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
}
},
{"player_position@hud.player_position": {}},
{"number_of_days_played@hud.number_of_days_played": {}},
{
// 다른 템플릿을 가져와서 확장(상속)
"game_tip@game_tip.game_tip_chat_stack_factory": {
// 가로/세로 크기
"size": ["100%", "100%c"]
}
},
{"chat_panel@hud.chat_panel": {}}
]
}
},
{
// ???/?? ??
"boss_health_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": ["100%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"boss_hud_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", 20],
// 보이기/숨기기(공간 유지)
"visible": "#boss_hud_padding", //Make this visible to move the boss hud panel down
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#boss_hud_padding",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"boss_hud_touch_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "15%"],
// 보이기/숨기기(공간 유지)
"visible": "#boss_hud_touch_padding", //Make this visible to move the boss hud panel down
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#boss_hud_touch_padding",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// ?? ???
"binding_condition": "always"
}
]
}
},
{
// ???/?? ??
"boss_hud_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"boss_health_grid@boss_health_grid": {
// 기준점에서 이동하는 거리
"offset": [0, 2]
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"save_icon@hud.auto_save": {}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#hud_alpha",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#alpha",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#hud_propagate_alpha",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#propagateAlpha",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"hud_screen@common.base_screen": {
"is_showing_menu": false,
"should_steal_mouse": true,
"low_frequency_rendering": true,
"absorbs_input": false,
"send_telemetry": false,
// 오버라이드 가능한 변수
"$screen_animations": [
"@common.screen_exit_animation_push_fade",
"@common.screen_exit_animation_pop_fade",
"@common.screen_entrance_animation_push_fade",
"@common.screen_entrance_animation_pop_fade"
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.scoreboard",
// 어떤 동작을 실행할지
"to_button_id": "button.scoreboard",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.inventory_left",
// 어떤 동작을 실행할지
"to_button_id": "button.hotbar_inventory_left",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.inventory_right",
// 어떤 동작을 실행할지
"to_button_id": "button.hotbar_inventory_right",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.hide_gui",
// 어떤 동작을 실행할지
"to_button_id": "button.hide_gui_all",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.hide_tooltips",
// 어떤 동작을 실행할지
"to_button_id": "button.hide_tooltips_hud",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.hide_paperdoll",
// 어떤 동작을 실행할지
"to_button_id": "button.hide_paperdoll_hud",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.slot1",
// 어떤 동작을 실행할지
"to_button_id": "button.slot_1",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.slot2",
// 어떤 동작을 실행할지
"to_button_id": "button.slot_2",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.slot3",
// 어떤 동작을 실행할지
"to_button_id": "button.slot_3",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.slot4",
// 어떤 동작을 실행할지
"to_button_id": "button.slot_4",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.slot5",
// 어떤 동작을 실행할지
"to_button_id": "button.slot_5",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.slot6",
// 어떤 동작을 실행할지
"to_button_id": "button.slot_6",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.slot7",
// 어떤 동작을 실행할지
"to_button_id": "button.slot_7",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.slot8",
// 어떤 동작을 실행할지
"to_button_id": "button.slot_8",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.slot9",
// 어떤 동작을 실행할지
"to_button_id": "button.slot_9",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.slot0",
// 어떤 동작을 실행할지
"to_button_id": "button.slot_0",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.arrow_up",
// 어떤 동작을 실행할지
"to_button_id": "button.arrow_key",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.arrow_down",
// 어떤 동작을 실행할지
"to_button_id": "button.arrow_key",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.arrow_left",
// 어떤 동작을 실행할지
"to_button_id": "button.arrow_key",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.arrow_right",
// 어떤 동작을 실행할지
"to_button_id": "button.arrow_key",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
],
// 오버라이드 가능한 변수
"$screen_content": "hud.hud_content"
},
// ???/?? ??
"hud_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$hud_size": ["100%", "100%"],
// 오버라이드 가능한 변수
"$hud_player_rend_desktop_offset|default": [15, 15],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($is_holographic and not $is_living_room_mode)",
// 오버라이드 가능한 변수
"$hud_player_rend_desktop_offset": [100, 50]
},
{
// 이 조건이 맞으면 적용
"requires": "($compress_hud_width)",
// 오버라이드 가능한 변수
"$hud_size": ["90%", "100%"]
}
],
// 가로/세로 크기
"size": "$hud_size",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"root_panel@hud.root_panel": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"editor_gizmo_renderer@editor_gizmo_renderer": {
// 완전히 제거(공간도 없음)
"ignored": "(not $is_editor_mode_enabled)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"camera_renderer@camera_renderer": {}
}
]
},
// ???/?? ??
"layout_customization_main_panel_button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["50%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$new_ui_label_offset": [0, -1],
// 가로/세로 크기
"size": ["100%-4px", "100%-10px"],
// 오버라이드 가능한 변수
"$button_bindings|default": [],
// 게임 값과 연결하는 규칙 목록
"bindings": "$button_bindings"
}
}
]
},
// ???/?? ??
"layout_customization_main_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 55,
// 가로/세로 크기
"size": [100, 100],
"use_anchored_offset": true,
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#anchored_offset_value_y": 0.0,
// ???/??? ?
"#size_binding_x": 0.0,
// ???/??? ?
"#size_binding_y": 0.0
},
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"main_panel_frame": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/text_label_box",
// ?? (R,G,B,A)
"color": [0.6, 0.6, 0.6],
// 가로/세로 크기
"size": ["100%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"main_panel_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": ["100%-6px", "100%"],
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"reset_button@hud.layout_customization_main_panel_button": {
// 오버라이드 가능한 변수
"$button_text": "hudScreen.controlCustomization.reset",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.reset",
// 오버라이드 가능한 변수
"$button_bindings": [
{
// 가져올 값 이름
"binding_name": "#wysiwyg_reset_button_enabled",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#enabled",
// ?? ???
"binding_condition": "visible"
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#wysiwyg_no_control_selected",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"exit_button@hud.layout_customization_main_panel_button": {
// 오버라이드 가능한 변수
"$button_text": "hudScreen.controlCustomization.exit",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.exit",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#wysiwyg_no_control_selected",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"opacity_button@hud.layout_customization_main_panel_button": {
// 오버라이드 가능한 변수
"$button_text": "hudScreen.controlCustomization.opacity",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.opacity",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#wysiwyg_control_selected",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"size_button@hud.layout_customization_main_panel_button": {
// 오버라이드 가능한 변수
"$button_text": "hudScreen.controlCustomization.size",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.size",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#wysiwyg_control_selected",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#layout_customization_main_panel_offset_y",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#anchored_offset_value_y",
// ?? ???
"binding_condition": "visible"
},
{
// 가져올 값 이름
"binding_name": "#layout_customization_main_panel_size_x",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#size_binding_x",
// ?? ???
"binding_condition": "visible"
},
{
// 가져올 값 이름
"binding_name": "#layout_customization_main_panel_size_y",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#size_binding_y",
// ?? ???
"binding_condition": "visible"
},
{
// 가져올 값 이름
"binding_name": "#layout_customization_main_panel_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
// ???/?? ??
"layout_customization_option_slider": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": ["100%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"slider@settings_common.option_slider": {
// 가로/세로 크기
"size": ["fill", "100%"],
// 오버라이드 가능한 변수
"$label_offset": [6, 2],
// 오버라이드 가능한 변수
"$focus_override_right": "FOCUS_OVERRIDE_STOP",
// 오버라이드 가능한 변수
"$slider_binding_condition": "always_when_visible",
// 오버라이드 가능한 변수
"$label_bindings": [
{
// 가져올 값 이름
"binding_name": "$option_label",
// ?? ???
"binding_condition": "always_when_visible"
}
]
}
},
{
// ???/?? ??
"reset": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%y", "80%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"reset_button@common.button": {
// 기준점에서 이동하는 거리
"offset": [0, 5],
// 가로/세로 크기
"size": ["75%", "75%"],
// 오버라이드 가능한 변수
"$default_texture": "textures/ui/wysiwyg_reset",
// 오버라이드 가능한 변수
"$hover_texture": "textures/ui/wysiwyg_reset",
// 오버라이드 가능한 변수
"$pressed_texture": "textures/ui/wysiwyg_reset",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.option_reset",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"default": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "$default_texture"
}
},
{
// ???/?? ??
"hover": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "$hover_texture"
}
},
{
// ???/?? ??
"pressed": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "$pressed_texture"
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"layout_customization_option_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점에서 이동하는 거리
"offset": [0, 2],
// 가로/세로 크기
"size": ["100%-4px", "100%-4px"],
// 오버라이드 가능한 변수
"$customization_option_collection_name|default": "option_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"scale_option@layout_customization_option_slider": {
// 오버라이드 가능한 변수
"$option_label": "#scale_option_slider_label",
// 오버라이드 가능한 변수
"$slider_name": "scale_option",
// 오버라이드 가능한 변수
"$slider_value_binding_name": "#scale_option",
// 오버라이드 가능한 변수
"$slider_tts_text_value": "#scale_option_text_value",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#scale_option_enabled",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#scale_option_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$customization_option_collection_name"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"opacity_option@layout_customization_option_slider": {
// 오버라이드 가능한 변수
"$option_label": "#opacity_option_slider_label",
// 오버라이드 가능한 변수
"$slider_name": "opacity_option",
// 오버라이드 가능한 변수
"$slider_value_binding_name": "#opacity_option",
// 오버라이드 가능한 변수
"$slider_tts_text_value": "#opacity_option_text_value",
// 오버라이드 가능한 변수
"$option_enabled_binding_name": "#opacity_option_enabled",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#opacity_option_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$customization_option_collection_name"
}
]
}
},
{
// ???/?? ??
"apply_to_all_toggle": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점에서 이동하는 거리
"offset": [0, -4],
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": ["100%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"checkbox_frame": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%y", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"checkbox_unchecked": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": ["50%", "50%"],
// 사용할 이미지 경로
"texture": "textures/ui/radio_off",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #apply_to_all_selected)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"checkbox_checked": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": ["50%", "50%"],
// 사용할 이미지 경로
"texture": "textures/ui/radio_checked_dark",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#apply_to_all_selected",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
},
{
// ???/?? ??
"caption_frame": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"caption": {
// 글자 표시
"type": "label",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 보여줄 글자
"text": "hudScreen.controlCustomization.applyToAll",
// ?? (R,G,B,A)
"color": "$f_color_format"
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#apply_to_all_option_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$customization_option_collection_name"
}
]
}
}
]
},
// ???/?? ??
"layout_customization_option": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", 1],
// 오버라이드 가능한 변수
"$customization_option_collection_name|default": "option_items",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#size_binding_y": 0.0
},
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content@layout_customization_option_content": {}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#layout_customization_option_size_y",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#size_binding_y",
// ?? ???
"binding_condition": "visible"
}
]
},
// ???/?? ??
"layout_customization_sub_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [1, 1],
"use_anchored_offset": true,
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#anchored_offset_value_y": 0.0,
// ???/??? ?
"#size_binding_x": 0.0,
// ???/??? ?
"#size_binding_y": 0.0
},
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": ["100%", "100%"],
// 사용할 이미지 경로
"texture": "textures/ui/text_label_box",
// ?? (R,G,B,A)
"color": [0.6, 0.6, 0.6],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"sub_panel_content": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": ["100%", "100%"],
"grid_item_template": "hud.layout_customization_option",
// 오버라이드 가능한 변수
"$customization_option_collection_name|default": "option_items",
// 목록 이름
"collection_name": "$customization_option_collection_name",
"grid_dimension_binding": "#layout_customization_dimension",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#layout_customization_dimension",
// ?? ???
"binding_condition": "visible"
}
]
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#layout_customization_sub_panel_offset_y",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#anchored_offset_value_y",
// ?? ???
"binding_condition": "visible"
},
{
// 가져올 값 이름
"binding_name": "#layout_customization_sub_panel_size_x",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#size_binding_x",
// ?? ???
"binding_condition": "visible"
},
{
// 가져올 값 이름
"binding_name": "#layout_customization_sub_panel_size_y",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#size_binding_y",
// ?? ???
"binding_condition": "visible"
},
{
// 가져올 값 이름
"binding_name": "#layout_customization_sub_panel_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: hud_screen.json
// 분류: 추가 HUD 예제 / 단일 파일
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// ???/?? ??
"hud_title_text/title_frame": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "title",
// 계산식/참조 값
"source_property_name": "((#text - 'bar:') = #text)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"increase_anim": {
// 크기 변화
"anim_type": "size",
// 시작 값
"from": [0, "100%"],
// 끝 값
"to": ["100%", "100%"],
// 걸리는 시간(초)
"duration": "$duration",
// 움직임 곡선
"easing": "$increase_easing"
},
// ???/?? ??
"decrease_anim": {
// 크기 변화
"anim_type": "size",
// 시작 값
"from": ["100%", "100%"],
// 끝 값
"to": [0, "100%"],
// 걸리는 시간(초)
"duration": "$duration",
// 움직임 곡선
"easing": "$decrease_easing"
},
// ???/?? ??
"trail_anim": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": "$trail_delay",
// 다음 애니메이션으로 연결
"next": "@hud.decrease_anim"
},
// ???/?? ??
"animated_bar_image": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"bar_image": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": "$size_anim",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ???
"alpha": "$bar_alpha",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 사용할 이미지 경로
"texture": "$bar_texture"
}
},
{
// ???/?? ??
"trail_image": {
// 완전히 제거(공간도 없음)
"ignored": "$ignore_trail",
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 0,
// 가로/세로 크기
"size": "@hud.trail_anim",
// ???
"alpha": "$trail_alpha",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 사용할 이미지 경로
"texture": "$trail_texture"
}
}
]
},
// ???/?? ??
"animated_progress_bar": {
// animations
"$duration": 0.25,
// 오버라이드 가능한 변수
"$trail_delay|default": 0.25,
// 오버라이드 가능한 변수
"$increase_easing|default": "in_out_sine",
// 오버라이드 가능한 변수
"$decrease_easing|default": "in_out_circ",
// progress bar
"$background_size|default": [80, 6],
// 오버라이드 가능한 변수
"$background_texture|default": "textures/ui/bar_bg",
// 오버라이드 가능한 변수
"$background_alpha|default": 1,
// 오버라이드 가능한 변수
"$bar_texture|default": "textures/ui/bar",
// 오버라이드 가능한 변수
"$bar_size|default": ["100% - 2px", "100% - 2px"], // 100% is the width / height of background texture ($background_size)
// 오버라이드 가능한 변수
"$bar_offset|default": [1, 1],
// 오버라이드 가능한 변수
"$bar_alpha|default": 1,
// 오버라이드 가능한 변수
"$ignore_trail|default": false,
// 오버라이드 가능한 변수
"$trail_texture|default": "textures/ui/White",
// 오버라이드 가능한 변수
"$trail_alpha|default": 0.6,
// DO NOT FORGET to define these
"$multiplier|default": 0.05, // (1 / max_value) ; max_value is the maximum value of progress bar, here 20
// 오버라이드 가능한 변수
"$data_source|default": "<preserved title or subtitle panel>",
// 오버라이드 가능한 변수
"$max_value_binding|default": "", // keep this empty if you don't want the max value to be dynamic
// 오버라이드 가능한 변수
"$progress_binding|default": "#value", // name of the binding that will provide the value for this progress bar
// progress bar text
"$ignore_text|default": false,
// 오버라이드 가능한 변수
"$text_color|default": [1, 1, 1],
// 오버라이드 가능한 변수
"$text_font_type|default": "default",
// 오버라이드 가능한 변수
"$text_font_scale_factor|default": 1,
// 오버라이드 가능한 변수
"$text_shadow|default": true,
// 오버라이드 가능한 변수
"$text_offset|default": [0, -12],
// 오버라이드 가능한 변수
"$text_size|default": ["default", "default"],
// 오버라이드 가능한 변수
"$text_format|default": "('§z' + $progress_binding + '/20')", // this goes in source_property_name
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$background_size",
// 오버라이드 가능한 변수
"$one": 1.0,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"progress_bar_text": {
// 완전히 제거(공간도 없음)
"ignored": "$ignore_text",
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// ?? (R,G,B,A)
"color": "$text_color",
// ??
"font_type": "$text_font_type",
// ?? ?? ??
"font_scale_factor": "$text_font_scale_factor",
"shadow": "$text_shadow",
// 기준점에서 이동하는 거리
"offset": "$text_offset",
// 가로/세로 크기
"size": "$text_size",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$data_source",
// 계산식/참조 값
"source_property_name": "$text_format",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
}
},
{
// ???/?? ??
"bar_parent_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": "$bar_offset",
// 가로/세로 크기
"size": "$bar_size",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"animated_bar_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": ["100%", "100%"],
"use_anchored_offset": true,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#prev_value": 0,
// ???/??? ?
"#multiplier": "$multiplier"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 완전히 제거(공간도 없음)
"ignored": "($max_value_binding = '')",
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$data_source",
// 계산식/참조 값
"source_property_name": "$max_value_binding",
// 결과가 들어갈 속성
"target_property_name": "#max_bind"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$data_source",
// 계산식/참조 값
"source_property_name": "#visible",
// 결과가 들어갈 속성
"target_property_name": "#key"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$data_source",
// 계산식/참조 값
"source_property_name": "$progress_binding",
// 결과가 들어갈 속성
"target_property_name": "#changed_value"
},
{
// 완전히 제거(공간도 없음)
"ignored": "($max_value_binding = '')",
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "($one / #max_bind)",
// 결과가 들어갈 속성
"target_property_name": "#multiplier"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#prev_value * (1 - #key) + #changed_value * #key)",
// 결과가 들어갈 속성
"target_property_name": "#prev_value"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#changed_value + (#prev_value - #changed_value) * ((#prev_value - #changed_value) < 0))",
// 결과가 들어갈 속성
"target_property_name": "#min" // min(#prev_value, #changed_value)
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#min * #multiplier)",
// 결과가 들어갈 속성
"target_property_name": "#anchored_offset_value_x"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#changed_value + #prev_value - 2 * #min) * #multiplier)",
// 결과가 들어갈 속성
"target_property_name": "#size_binding_x"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"anim_increase": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 가로/세로 크기
"size": ["100%", "100%"],
// 오버라이드 가능한 변수
"$size_anim": "@hud.increase_anim",
// 오버라이드 가능한 변수
"$ignore_trail": true,
// 목록 아이템을 자동으로 생성
"factory": {
"name": "anim_increase",
// ??? ???
"control_name": "hud.animated_bar_image"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "animated_bar_panel",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "((#changed_value > #prev_value) * 1)",
// 결과가 들어갈 속성
"target_property_name": "#collection_length"
}
]
}
},
{
// ???/?? ??
"anim_decrease": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 가로/세로 크기
"size": ["100%", "100%"],
// 오버라이드 가능한 변수
"$size_anim": "@hud.decrease_anim",
// 목록 아이템을 자동으로 생성
"factory": {
"name": "anim_decrease",
// ??? ???
"control_name": "hud.animated_bar_image"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "animated_bar_panel",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "((#prev_value > #changed_value) * 1)",
// 결과가 들어갈 속성
"target_property_name": "#collection_length"
}
]
}
}
]
}
},
{
// ???/?? ??
"bar_panel": {
// 이미지 표시
"type": "image",
// ???
"alpha": "$bar_alpha",
// 사용할 이미지 경로
"texture": "$bar_texture",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": ["100%", "100%"],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "animated_bar_panel",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "(#min * #multiplier)",
// 결과가 들어갈 속성
"target_property_name": "#size_binding_x"
}
]
}
}
]
}
},
{
// ???/?? ??
"bar_bg": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": "$background_size",
// ???
"alpha": "$background_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 0,
// 사용할 이미지 경로
"texture": "$background_texture"
}
}
]
},
// ???/?? ??
"preserved_title": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [0, 0],
// 오버라이드 가능한 변수
"$update_string": "bar:",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#preserved_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #preserved_text) and not ((#hud_title_text_string - $update_string) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#preserved_text - $update_string) + 0)",
// 결과가 들어갈 속성
"target_property_name": "#progress"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#preserved_text - ($update_string + #progress + ',')) + 0)",
// 결과가 들어갈 속성
"target_property_name": "#max_value"
}
]
},
// ???/?? ??
"root_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
//usage
{
// 다른 템플릿을 가져와서 확장(상속)
"bar_1@hud.animated_progress_bar": {
// 오버라이드 가능한 변수
"$background_size": [120, 10],
// 오버라이드 가능한 변수
"$bar_size": ["100% - 11px", "100% - 6px"],
// 오버라이드 가능한 변수
"$bar_offset": [10, 3],
// 기준점에서 이동하는 거리
"offset": [0, 50],
// 오버라이드 가능한 변수
"$multiplier": 0.02, // 1 / 50; 50 - max amount
// 오버라이드 가능한 변수
"$data_source": "preserved_title",
// 오버라이드 가능한 변수
"$progress_binding": "#progress",
// 오버라이드 가능한 변수
"$text_format": "('§z' + $progress_binding + '/50')"
}
},
// usage with dynamic max value
{
// 다른 템플릿을 가져와서 확장(상속)
"bar_2@hud.animated_progress_bar": {
// 오버라이드 가능한 변수
"$background_size": [120, 10],
// 오버라이드 가능한 변수
"$bar_size": ["100% - 11px", "100% - 6px"],
// 오버라이드 가능한 변수
"$bar_offset": [10, 3],
// 기준점에서 이동하는 거리
"offset": [0, 80],
// "$multiplier": 0.02, - no need for multiplier if you're using dynamic max value
"$data_source": "preserved_title",
// 오버라이드 가능한 변수
"$progress_binding": "#progress",
// 오버라이드 가능한 변수
"$max_value_binding": "#max_value",
// 오버라이드 가능한 변수
"$text_format": "('§z' + $progress_binding + '/' + $max_value_binding)"
}
},
{"preserved_title@hud.preserved_title": {}}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: _ui_defs.json
// 분류: 초보 예제 모음 / Animated Progress Bar Template
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// ???/?? ??
"ui_defs": [
"ui/animated_bar.json"
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: animated_bar.json
// 분류: 초보 예제 모음 / Animated Progress Bar Template
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "animated_bar",
// Notes: this is just generic template. Edit the code however you like to achieve what you want.
// Or, if you don't wanna go through all that trouble just use it as-is :)
"animated_progress_bar": {
// animations
"$duration|default": 0.2,
// 오버라이드 가능한 변수
"$trail_delay|default": 0.2,
// 오버라이드 가능한 변수
"$increase_easing|default": "out_expo", // recommended
// 오버라이드 가능한 변수
"$decrease_easing|default": "in_expo", // recommended
// progress bar
/*
"" - a nineslice texture that can be stretched
"fixed" - a texture that cannot be stretched (idk what to call it lol. see the example textures)
*/
// 오버라이드 가능한 변수
"$texture_type|default": "",
// 오버라이드 가능한 변수
"$fill_from|default": "left", // left, right, up, down
// 오버라이드 가능한 변수
"$background_size|default": [100, 10], // it's better to use your texture size
// 오버라이드 가능한 변수
"$background_texture|default": "textures/ui/bar_bg",
// 오버라이드 가능한 변수
"$background_alpha|default": 1,
/*
size of your progress texture
100% is the width / height of background texture ($background_size)
USE fixed size instead of %, if your texture isn't a nineslice texture or if it looks weird
*/
// 오버라이드 가능한 변수
"$bar_size|default": ["100% - 2px", "100% - 2px"],
// 오버라이드 가능한 변수
"$bar_texture|default": "textures/ui/bar",
// 오버라이드 가능한 변수
"$bar_offset|default": [1, 1], // offset from the background texture (always from top_left)
// 오버라이드 가능한 변수
"$bar_alpha|default": 1,
// 오버라이드 가능한 변수
"$ignore_trail|default": false,
// 오버라이드 가능한 변수
"$trail_texture|default": "textures/ui/White",
// 오버라이드 가능한 변수
"$trail_alpha|default": 0.6,
// DO NOT FORGET to define these
"$multiplier|default": 0.05, // (1 / max_value) ; max_value is the maximum value of progress bar, here 20
// 오버라이드 가능한 변수
"$data_source|default": "<preserved title or subtitle panel>", // see example
// 오버라이드 가능한 변수
"$max_value_binding|default": "", // keep this empty if you don't want the max value to be dynamic
// 오버라이드 가능한 변수
"$progress_binding|default": "#null", // name of the binding that will provide the value for this progress bar
// progress bar text. these are pretty self-explanatory
"$ignore_text|default": false,
// 오버라이드 가능한 변수
"$text_color|default": [1, 1, 1],
// 오버라이드 가능한 변수
"$text_font_type|default": "default",
// 오버라이드 가능한 변수
"$text_font_scale_factor|default": 1,
// 오버라이드 가능한 변수
"$text_shadow|default": true,
// 오버라이드 가능한 변수
"$text_offset|default": [0, -12],
// 오버라이드 가능한 변수
"$text_anchor|default": "center",
// 오버라이드 가능한 변수
"$text_size|default": ["default", "default"],
// 오버라이드 가능한 변수
"$text_format|default": "('§z' + $progress_binding + '/20')", // this goes in source_property_name
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$background_size",
// 오버라이드 가능한 변수
"$one": 1.0,
// do not change :)
"$_fixed|default": "",
// 오버라이드 가능한 변수
"$_direction|default": "",
// 오버라이드 가능한 변수
"$_anchor|default": "top_left",
// 오버라이드 가능한 변수
"$_size_binding|default": "#size_binding_x",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($texture_type = 'fixed')",
// 오버라이드 가능한 변수
"$_fixed": "__fixed"
},
{
// 이 조건이 맞으면 적용
"requires": "($fill_from = 'right')",
// 오버라이드 가능한 변수
"$_anchor": "top_right"
},
{
// 이 조건이 맞으면 적용
"requires": "($fill_from = 'up')",
// 오버라이드 가능한 변수
"$_size_binding": "#size_binding_y",
// 오버라이드 가능한 변수
"$_direction": "__vertical"
},
{
// 이 조건이 맞으면 적용
"requires": "($fill_from = 'down')",
// 오버라이드 가능한 변수
"$_size_binding": "#size_binding_y",
// 오버라이드 가능한 변수
"$_direction": "__vertical",
// 오버라이드 가능한 변수
"$_anchor": "bottom_left"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{"progress_bar_text_cx0": {
// 완전히 제거(공간도 없음)
"ignored": "$ignore_text",
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 기준점(어디에서 시작할지)
"anchor_from": "$text_anchor",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$text_anchor",
// ?? (R,G,B,A)
"color": "$text_color",
// ??
"font_type": "$text_font_type",
// ?? ?? ??
"font_scale_factor": "$text_font_scale_factor",
"shadow": "$text_shadow",
// 기준점에서 이동하는 거리
"offset": "$text_offset",
// 가로/세로 크기
"size": "$text_size",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$data_source",
// 계산식/참조 값
"source_property_name": "$text_format",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
}},
{
// ???/?? ??
"bar_parent_panel_cx0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": "$bar_offset",
// 가로/세로 크기
"size": "$bar_size",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"animated_bar_panel_cx1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "$_anchor",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$_anchor",
// 가로/세로 크기
"size": ["100%", "100%"],
// 오버라이드 가능한 변수
"$control_name": "('animated_bar.animated_bar_image' + $_fixed)",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#prev_value": 0,
// ???/??? ?
"#multiplier": "$multiplier"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 완전히 제거(공간도 없음)
"ignored": "($max_value_binding = '')",
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$data_source",
// 계산식/참조 값
"source_property_name": "$max_value_binding",
// 결과가 들어갈 속성
"target_property_name": "#max_bind"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$data_source",
// 계산식/참조 값
"source_property_name": "#visible",
// 결과가 들어갈 속성
"target_property_name": "#key"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$data_source",
// 계산식/참조 값
"source_property_name": "$progress_binding",
// 결과가 들어갈 속성
"target_property_name": "#changed_value"
},
{
// 완전히 제거(공간도 없음)
"ignored": "($max_value_binding = '')",
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "($one / #max_bind)",
// 결과가 들어갈 속성
"target_property_name": "#multiplier"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#prev_value * (1 - #key) + #changed_value * #key)",
// 결과가 들어갈 속성
"target_property_name": "#prev_value"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#changed_value + (#prev_value - #changed_value) * ((#prev_value - #changed_value) < 0))",
// 결과가 들어갈 속성
"target_property_name": "#min" // min(#prev_value, #changed_value)
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#changed_value + #prev_value - #min) * #multiplier)",
// 결과가 들어갈 속성
"target_property_name": "$_size_binding"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"anim_increase_cx2": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 오버라이드 가능한 변수
"$size_anim": "('@animated_bar.increase_anim' + $_direction + $_fixed)",
// 오버라이드 가능한 변수
"$ignore_trail": true,
// 목록 아이템을 자동으로 생성
"factory": {
"name": "anim_increase",
// ??? ???
"control_name": "$control_name"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "animated_bar_panel_cx1",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "((#changed_value > #prev_value) * 1)",
// 결과가 들어갈 속성
"target_property_name": "#collection_length"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_length * 0 = 0)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"anim_decrease_cx2": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 오버라이드 가능한 변수
"$size_anim": "('@animated_bar.decrease_anim' + $_direction + $_fixed)",
// 목록 아이템을 자동으로 생성
"factory": {
"name": "anim_decrease",
// ??? ???
"control_name": "$control_name"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "animated_bar_panel_cx1",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "((#prev_value > #changed_value) * 1)",
// 결과가 들어갈 속성
"target_property_name": "#collection_length"
}
]
}
}
]
}
},
{
// ???/?? ??
"bar_panel_cx1": {
// 이미지 표시
"type": "image",
// ???
"alpha": "$bar_alpha",
// 사용할 이미지 경로
"texture": "$bar_texture",
// 기준점(어디에서 시작할지)
"anchor_from": "$_anchor",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$_anchor",
// 가로/세로 크기
"size": ["100%", "100%"],
// ??? ??
"clip_direction": "$fill_from",
// ?? ??
"clip_pixelperfect": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "animated_bar_panel_cx1",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "($one - #min * #multiplier)",
// 결과가 들어갈 속성
"target_property_name": "#clip_ratio"
}
]
}
}
]
}
},
{
// ???/?? ??
"bar_bg_cx0": {
// 이미지 표시
"type": "image",
// ???
"alpha": "$background_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 0,
// 사용할 이미지 경로
"texture": "$background_texture"
}
}
]
},
// ???/?? ??
"increase_anim": {
// 크기 변화
"anim_type": "size",
// 시작 값
"from": [0, "100%"],
// 끝 값
"to": ["100%", "100%"],
// 걸리는 시간(초)
"duration": "$duration",
// 움직임 곡선
"easing": "$increase_easing"
},
"increase_anim__fixed": { // for fixed texture
// 크기 변화
"anim_type": "size",
// 시작 값
"from": [0, "200%"],
// 끝 값
"to": ["100%", "200%"],
// 걸리는 시간(초)
"duration": "$duration",
// 움직임 곡선
"easing": "$increase_easing"
},
// ???/?? ??
"increase_anim__vertical": {
// 크기 변화
"anim_type": "size",
// 시작 값
"from": ["100%", 0],
// 끝 값
"to": ["100%", "100%"],
// 걸리는 시간(초)
"duration": "$duration",
// 움직임 곡선
"easing": "$increase_easing"
},
"increase_anim__vertical__fixed": { // for fixed texture
// 크기 변화
"anim_type": "size",
// 시작 값
"from": ["200%", 0],
// 끝 값
"to": ["200%", "100%"],
// 걸리는 시간(초)
"duration": "$duration",
// 움직임 곡선
"easing": "$increase_easing"
},
// ???/?? ??
"decrease_anim": {
// 크기 변화
"anim_type": "size",
// 시작 값
"from": ["100%", "100%"],
// 끝 값
"to": [0, "100%"],
// 걸리는 시간(초)
"duration": "$duration",
// 움직임 곡선
"easing": "$decrease_easing"
},
"decrease_anim__fixed": { // for fixed texture
// 크기 변화
"anim_type": "size",
// 시작 값
"from": ["100%", "200%"],
// 끝 값
"to": [0, "200%"],
// 걸리는 시간(초)
"duration": "$duration",
// 움직임 곡선
"easing": "$decrease_easing"
},
// ???/?? ??
"decrease_anim__vertical": {
// 크기 변화
"anim_type": "size",
// 시작 값
"from": ["100%", "100%"],
// 끝 값
"to": ["100%", 0],
// 걸리는 시간(초)
"duration": "$duration",
// 움직임 곡선
"easing": "$decrease_easing"
},
"decrease_anim__vertical__fixed": { // for fixed texture
// 크기 변화
"anim_type": "size",
// 시작 값
"from": ["200%", "100%"],
// 끝 값
"to": ["200%", 0],
// 걸리는 시간(초)
"duration": "$duration",
// 움직임 곡선
"easing": "$decrease_easing"
},
// ???/?? ??
"trail_anim": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": "$trail_delay",
// 다음 애니메이션으로 연결
"next": "('@animated_bar.decrease_anim' + $_direction)"
},
// ???/?? ??
"animated_bar_image": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"bar_image_cx0": {
// 이미지 표시
"type": "image",
// ???
"alpha": "$bar_alpha",
// 사용할 이미지 경로
"texture": "$bar_texture",
// 가로/세로 크기
"size": "$size_anim",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 기준점(어디에서 시작할지)
"anchor_from": "$_anchor",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$_anchor"
}
},
{
// ???/?? ??
"trail_image_cx0": {
// 완전히 제거(공간도 없음)
"ignored": "$ignore_trail",
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 0,
// 가로/세로 크기
"size": "@animated_bar.trail_anim",
// ???
"alpha": "$trail_alpha",
// 기준점(어디에서 시작할지)
"anchor_from": "$_anchor",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$_anchor",
// 사용할 이미지 경로
"texture": "$trail_texture"
}
}
]
},
"animated_bar_image__fixed": { // for fixed texture
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"bar_image_cx0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$size_anim",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 기준점(어디에서 시작할지)
"anchor_from": "$_anchor",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$_anchor",
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"image_cx1": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": "$bar_size",
// ???
"alpha": "$bar_alpha",
// 기준점(어디에서 시작할지)
"anchor_from": "$_anchor",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$_anchor",
// 사용할 이미지 경로
"texture": "$bar_texture"
}
}
]
}
},
{
// ???/?? ??
"trail_image_cx0": {
// 완전히 제거(공간도 없음)
"ignored": "$ignore_trail",
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 0,
// 가로/세로 크기
"size": "@animated_bar.trail_anim",
// ???
"alpha": "$trail_alpha",
// 기준점(어디에서 시작할지)
"anchor_from": "$_anchor",
// 붙일 위치(어디에 놓을지)
"anchor_to": "$_anchor",
// 사용할 이미지 경로
"texture": "$trail_texture"
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: bar.json
// 분류: 초보 예제 모음 / Animated Progress Bar Template
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 테두리 늘림(9분할)
"nineslice_size": 1,
// ???/?? ??
"base_size": [
3,
3
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: bar_bg.json
// 분류: 초보 예제 모음 / Animated Progress Bar Template
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 테두리 늘림(9분할)
"nineslice_size": [10, 3, 1, 3],
// ???/?? ??
"base_size": [
15,
10
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: hud_screen.json
// 분류: 초보 예제 모음 / Animated Progress Bar Template
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// ???/?? ??
"hud_title_text/title_frame": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "title",
// 계산식/참조 값
"source_property_name": "(#text - 'bar:' = #text)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
"preserved_title": { // it's just an example. you can use it as-is or use your existing code
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [0, 0],
// 오버라이드 가능한 변수
"$update_string": "bar:",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#preserved_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #preserved_text) and not ((#hud_title_text_string - $update_string) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#preserved_text - $update_string) + 0)",
// 결과가 들어갈 속성
"target_property_name": "#progress"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#preserved_text - ($update_string + #progress + ',')) + 0)",
// 결과가 들어갈 속성
"target_property_name": "#max_value"
}
]
},
// usage example. the variables you might need to change are described in the other file :)
"root_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{ "bar_data@hud.preserved_title": {} },
// if you want to hide the bar conditionally, you can define bindings in these
{
// 다른 템플릿을 가져와서 확장(상속)
"bar_1@animated_bar.animated_progress_bar": {
// 오버라이드 가능한 변수
"$background_size": [120, 10],
// 오버라이드 가능한 변수
"$bar_size": ["100% - 11px", "100% - 6px"],
// 오버라이드 가능한 변수
"$bar_offset": [10, 3],
// 기준점에서 이동하는 거리
"offset": [0, 50],
// 오버라이드 가능한 변수
"$multiplier": 0.02, // 1 / 50; 50 - max amount
// 오버라이드 가능한 변수
"$data_source": "bar_data", // we're getting our data from the preserved_title panel above named 'bar_data'
// 오버라이드 가능한 변수
"$progress_binding": "#progress", // see the bindings of preserved_title to understand better
// 오버라이드 가능한 변수
"$text_format": "('§z' + $progress_binding + '/50')"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"temp_bar@animated_bar.animated_progress_bar": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 기준점에서 이동하는 거리
"offset": [-10, -10],
// 오버라이드 가능한 변수
"$background_size": [7, 62],
// 오버라이드 가능한 변수
"$bar_size": [5, 51],
// 오버라이드 가능한 변수
"$bar_offset": [1, 0],
// 오버라이드 가능한 변수
"$bar_texture": "textures/ui/temp_bar_fixed",
// 오버라이드 가능한 변수
"$background_texture": "textures/ui/temp_bar_bg_fixed",
// 오버라이드 가능한 변수
"$texture_type": "fixed",
// 오버라이드 가능한 변수
"$fill_from": "down",
// 오버라이드 가능한 변수
"$ignore_trail": true,
// 오버라이드 가능한 변수
"$multiplier": 0.02, // 1 / 50
// 오버라이드 가능한 변수
"$data_source": "bar_data",
// 오버라이드 가능한 변수
"$progress_binding": "#progress",
// 오버라이드 가능한 변수
"$ignore_text": true
}
},
// usage with dynamic max value
{
// 다른 템플릿을 가져와서 확장(상속)
"bar_2@animated_bar.animated_progress_bar": {
// 기준점에서 이동하는 거리
"offset": [0, 80],
// 오버라이드 가능한 변수
"$background_size": [120, 10],
// 오버라이드 가능한 변수
"$bar_size": ["100% - 11px", "100% - 6px"],
// 오버라이드 가능한 변수
"$bar_offset": [10, 3],
// "$multiplier": 0.02, - no need for multiplier if you're using dynamic max value
"$data_source": "bar_data",
// 오버라이드 가능한 변수
"$progress_binding": "#progress",
// 오버라이드 가능한 변수
"$max_value_binding": "#max_value",
// 오버라이드 가능한 변수
"$text_format": "('§z' + $progress_binding + '/' + $max_value_binding)"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"health_bar@animated_bar.animated_progress_bar": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [-10, 20],
// 오버라이드 가능한 변수
"$background_size": [80, 8],
// 오버라이드 가능한 변수
"$bar_size": [68, 4],
// 오버라이드 가능한 변수
"$bar_offset": [2, 2],
// 오버라이드 가능한 변수
"$bar_texture": "textures/ui/health_bar_fixed",
// 오버라이드 가능한 변수
"$background_texture": "textures/ui/health_bar_bg_fixed",
// 오버라이드 가능한 변수
"$texture_type": "fixed",
// 오버라이드 가능한 변수
"$fill_from": "right",
// 오버라이드 가능한 변수
"$multiplier": 0.025, // 1 / 40
// 오버라이드 가능한 변수
"$data_source": "bar_data",
// 오버라이드 가능한 변수
"$text_font_scale_factor": 0.7,
// 오버라이드 가능한 변수
"$text_offset": [0, -8],
// 오버라이드 가능한 변수
"$progress_binding": "#progress",
// 오버라이드 가능한 변수
"$text_format|default": "('§z' + $progress_binding + '/40')"
}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: _global_variables.json
// 분류: 초보 예제 모음 / chat notifications no examples
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 오버라이드 가능한 변수
"$notification_flag_0e34fd": "§N§O§T§I§F§I§C§A§T§I§O§N"
}
필요한 부분만 참고해서 가져가세요.
// 예제: chat_screen.json
// 분류: 초보 예제 모음 / chat notifications no examples
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "chat",
// ???/?? ??
"messages_text/text": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('§␛' + #text + '§r') - ('§␛' + $notification_flag_0e34fd) = ('§␛' + #text + '§r'))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: hud_screen.json
// 분류: 초보 예제 모음 / chat notifications no examples
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "hud",
// ???/?? ??
"hud_screen": {
"render_only_when_topmost": false,
// 오버라이드 가능한 변수
"$additional_screen_content": "hud.notification_factory",
// 오버라이드 가능한 변수
"$use_loading_bars": false,
// 오버라이드 가능한 변수
"$screen_animations": [],
// 오버라이드 가능한 변수
"$background_animations": []
},
// ???/?? ??
"notification_factory": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [0, "100%c"],
// 겹치는 순서(숫자 클수록 위)
"layer": 20,
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 목록 아이템을 자동으로 생성
"factory": {
"name": "chat_item_factory",
// 팩토리 템플릿 매핑
"control_ids": {"chat_item": "@hud.notification"}
}
},
// ???/?? ??
"noti_1": {
// 크기 변화
"anim_type": "size",
// 걸리는 시간(초)
"duration": "$in_time",
// 움직임 곡선
"easing": "out_sine",
// 시작 값
"from": ["100%c", "100%c"],
// 끝 값
"to": [0, "100%c"],
// 다음 애니메이션으로 연결
"next": "@hud.noti_2"
},
// ???/?? ??
"noti_2": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": "$stay_time",
// 다음 애니메이션으로 연결
"next": "@hud.noti_3"
},
// ???/?? ??
"noti_3": {
// 크기 변화
"anim_type": "size",
// 걸리는 시간(초)
"duration": "$out_time",
// 움직임 곡선
"easing": "in_sine",
// 시작 값
"from": [0, "100%c"],
// 끝 값
"to": ["100%c", "100%c"],
// 다음 애니메이션으로 연결
"next": "@hud.noti_4"
},
// ???/?? ??
"noti_4": {
// 투명도 변화
"anim_type": "alpha",
// 걸리는 시간(초)
"duration": 0,
// 시작 값
"from": 1,
// 끝 값
"to": 0,
// 다음 애니메이션으로 연결
"next": "@hud.noti_5"
},
// ???/?? ??
"noti_5": {
// 크기 변화
"anim_type": "size",
// 걸리는 시간(초)
"duration": 1,
// 움직임 곡선
"easing": "out_expo",
// 시작 값
"from": ["100%c", "100%c"],
// 끝 값
"to": ["100%c", 0],
// 다음 애니메이션으로 연결
"next": "@hud.noti_4",
"destroy_at_end": "chat_grid_item"
},
// ???/?? ??
"immediate_destroy_anim": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 0,
"destroy_at_end": "chat_grid_item"
},
// ???/?? ??
"notification": {
// 오버라이드 가능한 변수
"$in_time": 1,
// 오버라이드 가능한 변수
"$stay_time": 5,
// 오버라이드 가능한 변수
"$out_time": 1,
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
"propagate_alpha": true,
// 애니메이션 목록
"anims": ["@hud.noti_1"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"notification_background": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 가로/세로 크기
"size": ["100%c + 18px", "100%cm + 12px"],
"min_size": ["100%c + 18px", 34],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"notification_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%cm", "100%c"],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점에서 이동하는 거리
"offset": [-9, 1],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "notification_background",
// 계산식/참조 값
"source_property_name": "#notification_title",
// 결과가 들어갈 속성
"target_property_name": "#nested_title",
"resolve_sibling_scope": true
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "notification_background",
// 계산식/참조 값
"source_property_name": "#notification_message",
// 결과가 들어갈 속성
"target_property_name": "#nested_message",
"resolve_sibling_scope": true
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"notification_title": {
// 글자 표시
"type": "label",
"line_padding": -2,
// ??
"font_type": "MinecraftTen",
"backup_font_type": "MinecraftTen",
// ?? ?? ??
"font_scale_factor": 1.5,
// 보여줄 글자
"text": "#title",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [0, -2],
"max_size": [200, "default"],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "notification_text_panel",
// 계산식/참조 값
"source_property_name": "#nested_title",
// 결과가 들어갈 속성
"target_property_name": "#title",
"resolve_sibling_scope": true
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#title = '§r§r'))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"notification_message": {
// 글자 표시
"type": "label",
"line_padding": 1,
// 보여줄 글자
"text": "#message",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
"max_size": [200, "default"],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "notification_text_panel",
// 계산식/참조 값
"source_property_name": "#nested_message",
// 결과가 들어갈 속성
"target_property_name": "#message",
"resolve_sibling_scope": true
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#message = '§r§r'))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
},
{
// ???/?? ??
"notification_icon_texture": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [16, 16],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [9, 9],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "notification_background",
// 계산식/참조 값
"source_property_name": "#notification_icon_texture",
// 결과가 들어갈 속성
"target_property_name": "#texture",
"resolve_sibling_scope": true
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#texture = '') and (#texture - 'aux:' = #texture))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"notification_item_renderer": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "inventory_item_renderer",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [16, 16],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [9, 9],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "notification_background",
// 계산식/참조 값
"source_property_name": "((#notification_icon_texture - 'aux:') * 1)",
// 결과가 들어갈 속성
"target_property_name": "#item_id_aux",
"resolve_sibling_scope": true
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "notification_background",
// 계산식/참조 값
"source_property_name": "(not (#notification_icon_texture - 'aux:' = #notification_icon_texture))",
// 결과가 들어갈 속성
"target_property_name": "#visible",
"resolve_sibling_scope": true
}
]
}
},
{
// ???/?? ??
"notification_icon_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [6, 0],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "notification_background",
// 계산식/참조 값
"source_property_name": "(not ((#notification_title + #notification_message = '§r§r§r§r') or (#notification_icon_texture = '')))",
// 결과가 들어갈 속성
"target_property_name": "#visible",
"resolve_sibling_scope": true
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (('§␛' + #text + '§r') - ('§␛' + $notification_flag_0e34fd) = ('§␛' + #text + '§r')))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\b' + #text - $notification_flag_0e34fd)",
// 결과가 들어갈 속성
"target_property_name": "#data"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('§r' + '%.101s' * #data - '\b' - '\t' + '§r')",
// 결과가 들어갈 속성
"target_property_name": "#notification_title"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('§r' + '%.301s' * #data - '%.101s' * #data) - '\b' - '\t' + '§r')",
// 결과가 들어갈 속성
"target_property_name": "#notification_message"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('%.401s' * #data - '%.301s' * #data - '\t')",
// 결과가 들어갈 속성
"target_property_name": "#notification_icon_texture"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('%.501s' * #data - '%.401s' * #data - '\t')",
// 결과가 들어갈 속성
"target_property_name": "#texture"
}
]
}
},
{
// ???/?? ??
"immediate_destroy": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [0, 0],
// 목록 아이템을 자동으로 생성
"factory": {
"name": "immediate_destroy_factory",
// ??? ???
"control_name": "@hud.immediate_destroy_control"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "notification_background",
// 계산식/참조 값
"source_property_name": "((not #visible) * 1)",
// 결과가 들어갈 속성
"target_property_name": "#collection_length",
"resolve_sibling_scope": true
}
]
}
}
]
},
// ???/?? ??
"immediate_destroy_control": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [0, 0],
// 애니메이션 목록
"anims": ["@hud.immediate_destroy_anim"]
},
// ???/?? ??
"chat_grid_item/chat_background": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('§␛' + #text + '§r') - ('§␛' + $notification_flag_0e34fd) = ('§␛' + #text + '§r'))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: manifest.json
// 분류: 초보 예제 모음 / chat notifications no examples
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
"format_version": 1,
// ???/?? ??
"header": {
"name": "Chat Notifications RP",
"uuid": "273a15d4-77a1-4a81-a82f-dbaa4c53abbf",
"version": [0, 3, 1]
},
// ???/?? ??
"modules": [
{
// 컨트롤 종류
"type": "resources",
"uuid": "50386810-a876-4852-bcd5-9a33ca7ca0f9",
"version": [0, 3, 1]
}
],
// ???/?? ??
"dependencies": [
{"uuid": "592315d1-e621-4869-9bac-00f3d17e533c", "version": [0, 3, 1]}
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: manifest.json
// 분류: 초보 예제 모음 / chat notifications no examples
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
"format_version": 1,
// ???/?? ??
"header": {
"name": "Chat Notifications BP",
"uuid": "592315d1-e621-4869-9bac-00f3d17e533c",
"version": [0, 3, 1]
},
// ???/?? ??
"modules": [
{
// 컨트롤 종류
"type": "data",
"uuid": "6084851f-76a2-47f8-a2e2-0226ca0dbbdd",
"version": [0, 3, 1]
},
{
// 컨트롤 종류
"type": "script",
"language": "javascript",
"entry": "scripts/index.js",
"uuid": "2712ef0d-c898-49a6-bf5a-8ca61035fe3f",
"version": "1.6.0"
}
],
// ???/?? ??
"dependencies": [
{"uuid": "273a15d4-77a1-4a81-a82f-dbaa4c53abbf", "version": [0, 3, 1]},
{"module_name": "@minecraft/server", "version": "1.16.0"}
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: debug_screen.json
// 분류: 초보 예제 모음 / Custom Animated Toggle Template
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "debug_screen",
// 다른 템플릿을 가져와서 확장(상속)
"debug_screen@common.base_screen": {
// 오버라이드 가능한 변수
"$screen_content": "debug_screen.panelists"
},
// 다른 템플릿을 가져와서 확장(상속)
"panelists@common.empty_panel": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"switch@common_toggles.animated_toggle": {
// 가로/세로 크기
"size": [
64,
32
],
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "Sw",
// 오버라이드 가능한 변수
"$toggle_text": "Switch state",
// 오버라이드 가능한 변수
"$toggle_type": "switch"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"button@common_toggles.animated_toggle": {
// 기준점에서 이동하는 거리
"offset": [
0,
32
],
// 가로/세로 크기
"size": [
128,
32
],
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "Bt",
// 오버라이드 가능한 변수
"$toggle_text": "Button state",
// 오버라이드 가능한 변수
"$toggle_type": "button"
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: glow.json
// 분류: 초보 예제 모음 / Custom Animated Toggle Template
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// {
// "nineslice_size": 0,
// "base_size": [
// 256,
// 256
// ]
// }
{
// 테두리 늘림(9분할)
"nineslice_size": 20,
// ???/?? ??
"base_size": [
48,
48
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: ui_template_toggles.json
// 분류: 초보 예제 모음 / Custom Animated Toggle Template
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "common_toggles",
// 다른 템플릿을 가져와서 확장(상속)
"pwgfrjenwkaoa@common.empty_image": {
// 애니메이션 목록
"anims": [
{
// ???/?? ??
"InCol": {
// 색상 변화
"anim_type": "color",
// 움직임 곡선
"easing": "out_quart",
// 걸리는 시간(초)
"duration": 0.4,
// 시작 값
"from": [
0.6,
0.3,
0.3,
0.0
],
// 끝 값
"to": [
0.3,
0.6,
0.3,
1.0
]
}
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"bcg_shadow": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "glow",
// 겹치는 순서(숫자 클수록 위)
"layer": 0,
// 가로/세로 크기
"size": [
"100%+20px",
"100%+20px"
],
// 애니메이션 목록
"anims": [
{
// ???/?? ??
"InCol": {
// 색상 변화
"anim_type": "color",
// 움직임 곡선
"easing": "out_quart",
// 걸리는 시간(초)
"duration": 0.4,
// 시작 값
"from": [
0.6,
0.3,
0.3,
0.0
],
// 끝 값
"to": [
0.3,
0.6,
0.3,
1.0
]
}
}
]
}
},
{
// ???/?? ??
"laiddibel": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "$§",
// 오버라이드 가능한 변수
"$§": "($toggle_text + ': §aON')",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
"shadow": true
}
}
],
// 사용할 이미지 경로
"texture": "textures/ui/white_background",
"keep_ratio": false
},
// 다른 템플릿을 가져와서 확장(상속)
"pwgfrjenwkaoa_exit@common.empty_image": {
// 애니메이션 목록
"anims": [
{
// ???/?? ??
"InCol": {
// 색상 변화
"anim_type": "color",
// 움직임 곡선
"easing": "out_quart",
// 걸리는 시간(초)
"duration": 0.4,
// 끝 값
"to": [
0.6,
0.3,
0.3,
0.0
],
// 시작 값
"from": [
0.3,
0.6,
0.3,
1.0
]
}
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"bcg_shadow": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "glow",
// 겹치는 순서(숫자 클수록 위)
"layer": 0,
// 가로/세로 크기
"size": [
"100%+20px",
"100%+20px"
],
// 애니메이션 목록
"anims": [
{
// ???/?? ??
"InCol": {
// 색상 변화
"anim_type": "color",
// 움직임 곡선
"easing": "out_quart",
// 걸리는 시간(초)
"duration": 0.4,
// 끝 값
"to": [
0.6,
0.3,
0.3,
0.0
],
// 시작 값
"from": [
0.3,
0.6,
0.3,
1.0
]
}
}
]
}
},
{
// ???/?? ??
"bg": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/white_background",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 가로/세로 크기
"size": [
"100%",
"100%"
],
"keep_ratio": false,
// 애니메이션 목록
"anims": [
{
// ???/?? ??
"InCol": {
// 색상 변화
"anim_type": "color",
// 움직임 곡선
"easing": "out_quart",
// 걸리는 시간(초)
"duration": 0.4,
// 끝 값
"to": [
0.6,
0.3,
0.3,
0.5
],
// 시작 값
"from": [
0.3,
0.6,
0.3,
0.5
]
}
}
]
}
},
{
// ???/?? ??
"fkdi": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "$§",
// 오버라이드 가능한 변수
"$§": "($toggle_text + ': §cOFF')",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
"shadow": true
}
}
],
// 사용할 이미지 경로
"texture": "textures/ui/white_background",
"keep_ratio": false
},
// 다른 템플릿을 가져와서 확장(상속)
"pwgfrjenwkaoa_sw@common.empty_panel": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"bcg_shadow": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "glow",
// 겹치는 순서(숫자 클수록 위)
"layer": 0,
// 가로/세로 크기
"size": [
"100%+20px",
"100%+20px"
],
// 애니메이션 목록
"anims": [
{
// ???/?? ??
"InCol": {
// 색상 변화
"anim_type": "color",
// 움직임 곡선
"easing": "out_quart",
// 걸리는 시간(초)
"duration": 0.4,
// 시작 값
"from": [
0.6,
0.3,
0.3,
0.0
],
// 끝 값
"to": [
0.3,
0.6,
0.3,
1.0
]
}
}
]
}
},
{
// ???/?? ??
"nub": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/white_background",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 가로/세로 크기
"size": [
20,
"100%"
],
"keep_ratio": false,
// 애니메이션 목록
"anims": [
{
// ???/?? ??
"InCol": {
// 색상 변화
"anim_type": "color",
// 움직임 곡선
"easing": "out_quart",
// 걸리는 시간(초)
"duration": 0.4,
// 시작 값
"from": [
0.6,
0.3,
0.3,
0.0
],
// 끝 값
"to": [
0.3,
0.6,
0.3,
1.0
]
}
},
{
// ???/?? ??
"OffsetIn": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "out_quart",
// 걸리는 시간(초)
"duration": 0.4,
// 시작 값
"from": [
"-75%+25px",
0
],
// 끝 값
"to": [
"75%-25px",
0
]
}
}
]
}
},
{
// ???/?? ??
"lavbel": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "$§",
// 오버라이드 가능한 변수
"$§": "($toggle_text + ': §aON')",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
"shadow": true
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"pwgfrjenwkaoa_sw_exit@common.empty_panel": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"bcg_shadow": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "glow",
// 겹치는 순서(숫자 클수록 위)
"layer": 0,
// 가로/세로 크기
"size": [
"100%+20px",
"100%+20px"
],
// 애니메이션 목록
"anims": [
{
// ???/?? ??
"InCol": {
// 색상 변화
"anim_type": "color",
// 움직임 곡선
"easing": "out_quart",
// 걸리는 시간(초)
"duration": 0.4,
// 끝 값
"to": [
0.6,
0.3,
0.3,
0.0
],
// 시작 값
"from": [
0.3,
0.6,
0.3,
1.0
]
}
}
]
}
},
{
// ???/?? ??
"by": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "$§",
// 오버라이드 가능한 변수
"$§": "($toggle_text + ': §cOFF')",
"shadow": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 3
}
},
{
// ???/?? ??
"nub": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/white_background",
// 겹치는 순서(숫자 클수록 위)
"layer": 0,
// 가로/세로 크기
"size": [
20,
"100%"
],
"keep_ratio": false,
// 애니메이션 목록
"anims": [
{
// ???/?? ??
"InCol": {
// 색상 변화
"anim_type": "color",
// 움직임 곡선
"easing": "out_quart",
// 걸리는 시간(초)
"duration": 0.4,
// 끝 값
"to": [
0.6,
0.3,
0.3,
0.0
],
// 시작 값
"from": [
0.3,
0.6,
0.3,
1.0
]
}
},
{
// ???/?? ??
"OffsetIn": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "out_quart",
// 걸리는 시간(초)
"duration": 0.4,
// 끝 값
"to": [
"-75%+25px",
0
],
// 시작 값
"from": [
"75%-25px",
0
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"animated_toggle@common_toggles.light_ui_toggle": {
// 오버라이드 가능한 변수
"$default_texture": "textures/ui/packs_border",
// 오버라이드 가능한 변수
"$hover_texture": "textures/ui/packs_border",
// 오버라이드 가능한 변수
"$pressed_texture": "textures/ui/packs_border",
// 오버라이드 가능한 변수
"$pressed_no_hover_texture": "textures/ui/packs_border",
// 오버라이드 가능한 변수
"$default_border_visible": false,
// 오버라이드 가능한 변수
"$hover_border_visible": false,
// 오버라이드 가능한 변수
"$toggle_type|default": "button",
// 오버라이드 가능한 변수
"$button_type_panel": "common.empty_panel",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "($toggle_type='button')",
// 오버라이드 가능한 변수
"$exit": "common_toggles.pwgfrjenwkaoa_exit",
// 오버라이드 가능한 변수
"$ent": "common_toggles.pwgfrjenwkaoa"
},
{
// 이 조건이 맞으면 적용
"requires": "($toggle_type='switch')",
// 오버라이드 가능한 변수
"$exit": "common_toggles.pwgfrjenwkaoa_sw_exit",
// 오버라이드 가능한 변수
"$ent": "common_toggles.pwgfrjenwkaoa_sw"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background@common.empty_image": {
// ???
"alpha": 0.6,
// 사용할 이미지 경로
"texture": "textures/ui/Black"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"$toggle_view_binding_name@$template_toggle": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"unchecked@$unchecked_control": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"checked@$checked_control": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"unchecked_hover@$unchecked_hover_control": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"checked_hover@$checked_hover_control": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"unchecked_locked@$unchecked_locked_control": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"checked_locked@$checked_locked_control": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"unchecked_locked_hover@$unchecked_locked_hover_control": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"checked_locked_hover@$checked_locked_hover_control": {}
},
{
// ???/?? ??
"('ent_'+$toggle_view_binding_name)": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 가로/세로 크기
"size": [
"100%-4px",
"100%-4px"
],
"propagate_alpha": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 목록 아이템을 자동으로 생성
"factory": {
"name": "ieiriir8dsiwbbO9Xdw",
// ??? ???
"control_name": "$ent",
"max_children_size": 1
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$toggle_view_binding_name",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#toggle_state"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(1 * #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#alpha"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(1 * #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#collection_length"
}
]
}
},
{
// ???/?? ??
"('exit_'+$toggle_view_binding_name)": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 가로/세로 크기
"size": [
"100%-4px",
"100%-4px"
],
"propagate_alpha": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 목록 아이템을 자동으로 생성
"factory": {
"name": "ieiriwbbO9Xdw",
// ??? ???
"control_name": "$exit",
"max_children_size": 1
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$toggle_view_binding_name",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#toggle_state"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(1 * (not #toggle_state))",
// 결과가 들어갈 속성
"target_property_name": "#alpha"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(1 * (not #toggle_state))",
// 결과가 들어갈 속성
"target_property_name": "#collection_length"
}
]
}
}
]
}
},
{
// ???/?? ??
"true": {
// 클릭 가능한 버튼
"type": "button",
// ??? ??
"sound_name": "random.pop",
"sound_volume": 1,
"sound_pitch": 1,
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
"consume_hover_events": false,
// 입력 키/버튼과 동작 연결
"button_mappings": "$mappings",
// 오버라이드 가능한 변수
"$mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "random.pop",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$toggle_view_binding_name",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"false": {
// 클릭 가능한 버튼
"type": "button",
// ??? ??
"sound_name": "random.pop",
"sound_volume": 1,
"sound_pitch": 0.5,
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
"consume_hover_events": false,
// 입력 키/버튼과 동작 연결
"button_mappings": "$mappings",
// 오버라이드 가능한 변수
"$mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "random.pop",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$toggle_view_binding_name",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: _global_variables.json
// 분류: 초보 예제 모음 / loading anim template
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 오버라이드 가능한 변수
"$flag_for_loading_anim": "loading_anim"
}
필요한 부분만 참고해서 가져가세요.
// 예제: chat_screen.json
// 분류: 초보 예제 모음 / loading anim template
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// ???/?? ??
"messages_text/text": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#text - '<' - '>')",
// 결과가 들어갈 속성
"target_property_name": "#text_n"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#text_n - $flag_for_loading_anim = #text_n)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: hud_screen.json
// 분류: 초보 예제 모음 / loading anim template
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// ???/?? ??
"loading_animation_alpha_out": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_quart",
// 걸리는 시간(초)
"duration": 0.5,
// 시작 값
"from": 1,
// 끝 값
"to": 0,
"destroy_at_end": "chat_grid_item"
},
// ???/?? ??
"loading_animation_wait": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": "$loading_animation_wait_duration",
// 다음 애니메이션으로 연결
"next": "@hud.loading_animation_alpha_out"
},
// ???/?? ??
"loading_animation_alpha_in": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "out_cubic",
// 걸리는 시간(초)
"duration": 0.5,
// 시작 값
"from": 0,
// 끝 값
"to": 1,
// 다음 애니메이션으로 연결
"next": "@hud.loading_animation_wait"
},
// ???/?? ??
"anim_loading_bar": {
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "in_out_circ",
// 걸리는 시간(초)
"duration": "$loading_bar_duration",
// 시작 값
"from": [0, 16],
// 끝 값
"to": [200, 16]
},
// ???/?? ??
"anim_loading_bar_again": {
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": "$loading_bar_duration",
// 시작 값
"from": [0, 16],
// 끝 값
"to": [200, 16]
},
// ???/?? ??
"pick_axe_animation": {
// 프레임 애니메이션
"anim_type": "flip_book",
"initial_uv": [ 0, 0 ],
"frame_count": 91,
"frame_step": 10,
"fps": 30,
"reversible": false,
// 움직임 곡선
"easing": "linear"
},
// ???/?? ??
"portal_animation": {
// 프레임 애니메이션
"anim_type": "flip_book",
"initial_uv": [ 0, 0 ],
"frame_count": 16,
"frame_step": 19,
"fps": 10,
"reversible": true,
// 움직임 곡선
"easing": "linear"
},
// ???/?? ??
"spinner_animation": {
// 프레임 애니메이션
"anim_type": "flip_book",
"initial_uv": [ 0, 0 ],
"frame_count": 10,
"frame_step": 7,
"fps": 10
},
// ???/?? ??
"anim_realms_stories_icon": {
// 프레임 애니메이션
"anim_type": "flip_book",
"initial_uv": [ 0, 0 ],
"frame_count": 13,
"fps": 8,
"looping": false,
// 움직임 곡선
"easing": "linear",
"wait_until_rendered_to_play": true
},
// ???/?? ??
"animation_generator": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%"],
// 겹치는 순서(숫자 클수록 위)
"layer": 100,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"factory_for_anim": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 가로/세로 크기
"size": ["100%", "100%"],
// 목록 아이템을 자동으로 생성
"factory": {
"name": "loading_animation_generator",
// ??? ???
"control_name": "hud.loading_animation"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#text - '<' - '>')",
// 결과가 들어갈 속성
"target_property_name": "#text_n"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#text_n - $flag_for_loading_anim = #text_n) * 1)",
// 결과가 들어갈 속성
"target_property_name": "#collection_length"
}
]
}
}
]
},
// ???/?? ??
"loading_animation": {
// 오버라이드 가능한 변수
"$loading_animation_wait_duration": 2, //seconds
// 오버라이드 가능한 변수
"$loading_bar_duration": "$loading_animation_wait_duration",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", "100%"],
// 겹치는 순서(숫자 클수록 위)
"layer": 100,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"background": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "gradient_renderer",
// 가로/세로 크기
"size": ["100%", "100%"],
// 애니메이션 목록
"anims": [
"@hud.loading_animation_alpha_in"
],
"propagate_alpha": true,
"color1": [0, 0, 0],
"color2": [0.11, 0.01, 0.2],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"logo": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/title",
// 가로/세로 크기
"size": [300, 55],
// 기준점에서 이동하는 거리
"offset": [0, "-25%"]
}
},
{
// ???/?? ??
"loading_bar_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/loading_bar_background",
// 가로/세로 크기
"size": [200, 16],
// 기준점에서 이동하는 거리
"offset": [0, "20%"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"loading_bar": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/loading_bar_filler",
// 가로/세로 크기
"size": [200, 16],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 애니메이션 목록
"anims": [
"@hud.anim_loading_bar"
]
}
}
]
}
},
{
// ???/?? ??
"loading_bar_background_grass": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점에서 이동하는 거리
"offset": [0, "15%"],
// 가로/세로 크기
"size": [200, 16],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"loading_bar": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 애니메이션 목록
"anims": [
"@hud.anim_loading_bar"
],
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"loading_bar_again": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/grass_bar",
// 가로/세로 크기
"size": [200, 16],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle"
}
}
]
}
}
]
}
},
{
// ???/?? ??
"loading_bar_background_grass_again": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점에서 이동하는 거리
"offset": [0, "25%"],
// 가로/세로 크기
"size": [200, 16],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"loading_bar": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 애니메이션 목록
"anims": [
"@hud.anim_loading_bar"
],
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"loading_bar_again": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/another_grass",
// 가로/세로 크기
"size": [200, 16],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle"
}
}
]
}
}
]
}
},
{
// ???/?? ??
"tip_maybe": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "Some text at the bottom",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [0, -15]
}
},
{
// ???/?? ??
"maybe_title": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "Title(?)",
// ??
"font_type": "MinecraftTen",
// ?? ?? ??
"font_scale_factor": 1.5,
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [10, 10]
}
},
{
// ???/?? ??
"lots_of_loading_anim": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": ["100%c", "100%cm"],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 기준점에서 이동하는 거리
"offset": [-10, -10],
// 이 안에 들어가는 부품 목록
"controls": [
{
"loading_icon_pickaxe": { //my favorite
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 사용할 이미지 경로
"texture": "textures/ui/mine_chop_dig_animation",
// 가로/세로 크기
"size": [ 30, 30 ],
// ???? ??
"uv_size": [ 10, 10 ],
// ???? ?? ??
"uv": "@hud.pick_axe_animation",
// ?? (R,G,B,A)
"color": [ 1, 1, 1, 1 ]
}
},
{
// ???/?? ??
"spacer": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [5, 0]
}
},
{
// ???/?? ??
"loading_icon_porlat": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 사용할 이미지 경로
"texture": "textures/ui/realms_plus_hover",
// ???? ?? ??
"uv": "@hud.portal_animation",
// 가로/세로 크기
"size": [ 30, 30 ],
// ???? ??
"uv_size": [ 19, 19 ]
}
},
{
// ???/?? ??
"spacer": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [5, 0]
}
},
{
// ???/?? ??
"realms_stories_icon_animated": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/realmsStoriesIconAnimated",
// 가로/세로 크기
"size": [ 30, 30 ],
// ???? ??
"uv_size": [ 22, 22 ],
// ???? ?? ??
"uv": "@hud.anim_realms_stories_icon",
"disable_anim_fast_forward": true
}
},
{
// ???/?? ??
"spacer": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [5, 0]
}
},
{
// ???/?? ??
"loading_progress_spinner": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 사용할 이미지 경로
"texture": "textures/ui/loading_spin",
// 기준점에서 이동하는 거리
"offset": [ 0, 6 ],
// ???? ??
"uv_size": [ 7, 7 ],
// 가로/세로 크기
"size": [ 20, 20 ],
// ???? ?? ??
"uv": "@hud.spinner_animation"
}
}
]
}
},
{
// ???/?? ??
"test": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/icon_panda", //why not
// 가로/세로 크기
"size": [30, 30],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [-10, 10]
}
},
{
// ???/?? ??
"chest": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/realms_particles",
// 가로/세로 크기
"size": [100, 100],
// ???
"alpha": 0.3,
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": ["-30%", "-28%"]
}
},
{
// ???/?? ??
"chest": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/realms_particles",
// 가로/세로 크기
"size": [50, 50],
// ???
"alpha": 0.1,
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": ["30%", "-18%"]
}
},
{
// ???/?? ??
"loading_stack": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 기준점에서 이동하는 거리
"offset": [10, -10],
// 가로/세로 크기
"size": ["100%c", "100%cm"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/worldsIcon",
// 가로/세로 크기
"size": [30, 30]
}
},
{
// ???/?? ??
"spacer": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [5, 0]
}
},
{
// ???/?? ??
"wrapper_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%c", "100%c"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"loading_text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "Loading...",
// ??
"font_type": "MinecraftTen",
// 기준점에서 이동하는 거리
"offset": [0, 5],
// ?? ?? ??
"font_scale_factor": 1.4
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"chat_grid_item/chat_background": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#text - '<' - '>')",
// 결과가 들어갈 속성
"target_property_name": "#text_n"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#text_n - $flag_for_loading_anim = #text_n)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"root_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// ???/?? ??
"loading_animation_factory": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 목록 아이템을 자동으로 생성
"factory": {
"name": "chat_item_factory",
// 팩토리 템플릿 매핑
"control_ids": {
"chat_item": "animation_generator@hud.animation_generator"
}
}
}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: loading_bar_filler.json
// 분류: 초보 예제 모음 / loading anim template
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 테두리 늘림(9분할)
"nineslice_size": 4,
// ???/?? ??
"base_size": [
200,
16
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: horizontal_scroll_view.json
// 분류: 초보 예제 모음 / 가로스크롤 예제
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "common",
// ???/?? ??
"horizontal_scroll_view": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// ?? ????
"clips_children": true,
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 오버라이드 가능한 변수
"$scrolling_content|default": "common.empty_panel",
// 오버라이드 가능한 변수
"$scrolling_size|default": [
"200%c - 100%",
"100%"
],
// 오버라이드 가능한 변수
"$bg_size|default": [
"100%",
"100%"
],
// 오버라이드 가능한 변수
"$use_background|default": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"scroll_track": {
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$scrolling_size",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"draggable_box": {
// 컨트롤 종류
"type": "scrollbar_box",
// ??? ??
"draggable": "horizontal",
"contained": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 100,
// 가로/세로 크기
"size": [
"100%c",
"100%"
],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
"consume_hover_events": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"control_layer_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%c",
"100%"
],
// 겹치는 순서(숫자 클수록 위)
"layer": -95,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_content@$scrolling_content": {}
}
]
}
}
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed",
"consume_event": false,
"button_up_right_of_first_refusal": true
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"bg@common.scroll_indent_image": {
// 겹치는 순서(숫자 클수록 위)
"layer": -2,
// 가로/세로 크기
"size": "$bg_size",
// 보이기/숨기기(공간 유지)
"visible": "$use_background"
}
}
]
},
// ???/?? ??
"hscroll_demo_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
80,
80
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"bg": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// ???
"alpha": 0.15,
// 가로/세로 크기
"size": [
"100%",
"100%"
]
}
},
{
// ???/?? ??
"label": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "$text|default",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
},
// ???/?? ??
"hscroll_demo_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"default",
"100%"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"i01@common.hscroll_demo_item": {
// 오버라이드 가능한 변수
"$text": "1"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"i02@common.hscroll_demo_item": {
// 오버라이드 가능한 변수
"$text": "2"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"i03@common.hscroll_demo_item": {
// 오버라이드 가능한 변수
"$text": "3"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"i04@common.hscroll_demo_item": {
// 오버라이드 가능한 변수
"$text": "4"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"i05@common.hscroll_demo_item": {
// 오버라이드 가능한 변수
"$text": "5"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"i06@common.hscroll_demo_item": {
// 오버라이드 가능한 변수
"$text": "6"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"i07@common.hscroll_demo_item": {
// 오버라이드 가능한 변수
"$text": "7"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"i08@common.hscroll_demo_item": {
// 오버라이드 가능한 변수
"$text": "8"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"i09@common.hscroll_demo_item": {
// 오버라이드 가능한 변수
"$text": "9"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"i10@common.hscroll_demo_item": {
// 오버라이드 가능한 변수
"$text": "10"
}
}
]
},
// ???/?? ??
"hscroll_demo_container": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
110
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hscroll@common.horizontal_scroll_view": {
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 오버라이드 가능한 변수
"$scrolling_content": "common.hscroll_demo_content",
// 오버라이드 가능한 변수
"$scrolling_size": [
"200%c - 100%",
"100%"
],
// 오버라이드 가능한 변수
"$use_background": true
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: _global_variables.json
// 분류: 초보 예제 모음 / 예제1
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
// SCOREHUD | COMMISSION Creator @Nperma
{
// 오버라이드 가능한 변수
"$title_texture": "textures/ui/title",
//SIDE SCOREHUD
"$sideleft_texture": "textures/scorehud_background",
// 오버라이드 가능한 변수
"$sideleft_alpha": 1,
// 오버라이드 가능한 변수
"$sideright_texture": "textures/scorehud_background",
// 오버라이드 가능한 변수
"$sideright_alpha": 1,
//BODY SCOREHUD
"$body_texture": "textures/scorehud_background",
// 오버라이드 가능한 변수
"$body_alpha": 1,
//BODY TEXT SCOREHUD
"$body_label_shadow": true,
//SCOREUP1
"$scoreup1_texture": "textures/scorehud_background",
// 오버라이드 가능한 변수
"$scoreup1_alpha": 1,
//SCOREUP2
"$scoreup2_texture": "textures/scorehud_background",
// 오버라이드 가능한 변수
"$scoreup2_alpha": 1,
//SCOREUP3
"$scoreup3_texture": "textures/scorehud_background",
// 오버라이드 가능한 변수
"$scoreup3_alpha": 1
}
필요한 부분만 참고해서 가져가세요.
// 예제: code.json
// 분류: 초보 예제 모음 / 예제1
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// ???/?? ??
"string_modification": {
// 기준점에서 이동하는 거리
"offset": [0, 25],
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// 가로/세로 크기
"size": ["default", "default"],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"input_box@common.text_edit_box": {
// 기준점에서 이동하는 거리
"offset": [0, -20],
// 가로/세로 크기
"size": [
250,
20
],
// ?? ?? ?
"max_length": 100,
// 오버라이드 가능한 변수
"$text_edit_text_control": "input_text",
// 오버라이드 가능한 변수
"$place_holder_text": "Placeholder...",
// 오버라이드 가능한 변수
"$text_alignment": "left"
}
},
{
// ???/?? ??
"dynamic": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [0, 0],
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#iterator": 0,
// ???/??? ?
"#output": "§z",
// ???/??? ?
"# ": " ","#A": "a","#B": "b","#C": "c","#D": "d","#E": "e","#F": "f","#G": "g","#H": "h","#I": "i","#J": "j","#K": "k","#L": "l",
// ???/??? ?
"#M": "m","#N": "n","#O": "o","#P": "p","#Q": "q","#R": "r","#S": "s","#T": "t","#U": "u","#V": "v","#W": "w","#X": "x","#Y": "y",
// ???/??? ?
"#Z": "z","#a": "a","#b": "b","#c": "c","#d": "d","#e": "e","#f": "f","#g": "g","#h": "h","#i": "i","#j": "j","#k": "k","#l": "l",
// ???/??? ?
"#m": "m","#n": "n","#o": "o","#p": "p","#q": "q","#r": "r","#s": "s","#t": "t","#u": "u","#v": "v","#w": "w","#x": "x","#y": "y",
// ???/??? ?
"#z": "z","#0": "0","#1": "1","#2": "2","#3": "3","#4": "4","#5": "5","#6": "6","#7": "7","#8": "8","#9": "9","#.": ".","#,": ",",
// ???/??? ?
"#!": "!","#_": "_","#&": "&","#(": "(","#)": ")","#?": "?","#{": "{","#}": "}","#[": "[","#]": "]","#:": ":","#'": "'","#\"": "\""
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "input_text",
// 계산식/참조 값
"source_property_name": "('§z' + #item_name)",
// 결과가 들어갈 속성
"target_property_name": "#string"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('%.' + (#iterator + 3) + 's') * #output + ('#' + (('%.' + (#iterator + 4) + 's') * #string - ('%.' + (#iterator + 3) + 's') * #string)))",
// 결과가 들어갈 속성
"target_property_name": "#output"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#iterator + 1 - (('%.' + (#iterator + 3) + 's') * #output = #output))",
// 결과가 들어갈 속성
"target_property_name": "#iterator"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#iterator * (1 - (('%.' + (#iterator + 2) + 's') * #string = #string)))",
// 결과가 들어갈 속성
"target_property_name": "#iterator"
}
]
}
},
{
// ???/?? ??
"static": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [0, 0],
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#string": "§z123THIS IS A FULLY CAPITALIZED STRING. LOWERCASED USING BINDINGS.",
// ???/??? ?
"#iterator": 0,
// ???/??? ?
"#length": 0,
// ???/??? ?
"#output": "§z",
// ???/??? ?
"# ": " ","#A": "a","#B": "b","#C": "c","#D": "d","#E": "e","#F": "f","#G": "g","#H": "h","#I": "i","#J": "j","#K": "k","#L": "l",
// ???/??? ?
"#M": "m","#N": "n","#O": "o","#P": "p","#Q": "q","#R": "r","#S": "s","#T": "t","#U": "u","#V": "v","#W": "w","#X": "x","#Y": "y",
// ???/??? ?
"#Z": "z","#a": "a","#b": "b","#c": "c","#d": "d","#e": "e","#f": "f","#g": "g","#h": "h","#i": "i","#j": "j","#k": "k","#l": "l",
// ???/??? ?
"#m": "m","#n": "n","#o": "o","#p": "p","#q": "q","#r": "r","#s": "s","#t": "t","#u": "u","#v": "v","#w": "w","#x": "x","#y": "y",
// ???/??? ?
"#z": "z","#0": "0","#1": "1","#2": "2","#3": "3","#4": "4","#5": "5","#6": "6","#7": "7","#8": "8","#9": "9","#.": ".","#,": ",",
// ???/??? ?
"#!": "!","#_": "_","#&": "&","#(": "(","#)": ")","#?": "?","#{": "{","#}": "}","#[": "[","#]": "]","#:": ":","#'": "'","#\"": "\""
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('%.' + (#iterator + 3) + 's') * #output + ('#' + (('%.' + (#iterator + 4) + 's') * #string - ('%.' + (#iterator + 3) + 's') * #string)))",
// 결과가 들어갈 속성
"target_property_name": "#output"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#iterator + 1 - (#output = #temp))",
// 결과가 들어갈 속성
"target_property_name": "#iterator"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#output",
// 결과가 들어갈 속성
"target_property_name": "#temp"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#iterator * (1 - (('%.' + (#iterator + 2) + 's') * #string = #string)))",
// 결과가 들어갈 속성
"target_property_name": "#iterator"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "dynamic",
// 계산식/참조 값
"source_property_name": "('Dynamic: ' + #output + #iterator)",
// 결과가 들어갈 속성
"target_property_name": "#text1"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "static",
// 계산식/참조 값
"source_property_name": "('\nStatic: ' + #output + #iterator)",
// 결과가 들어갈 속성
"target_property_name": "#text2"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#text1 + #text2)",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: hud_screen.json
// 분류: 초보 예제 모음 / 예제1
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "hud",
// ???/?? ??
"hud_title_text": {
// 게임 값과 연결하는 규칙 목록
"bindings": [{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not (('%.6s' * #text) = 'nperma')) and (not (#text = '')))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}]
},
// 다른 템플릿을 가져와서 확장(상속)
"nperma_root@common.empty_panel": {
// 이 안에 들어가는 부품 목록
"controls":[{
// 다른 템플릿을 가져와서 확장(상속)
"scorehud_layout@hud.scorehud": {}
},
{
// ???/?? ??
"scorehud_upper_layout": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size":["33.33%",
16],
// ???
"alpha": 0.3,
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 기준점에서 이동하는 거리
"offset":[-2,
2],
// 이 안에 들어가는 부품 목록
"controls":[{
// ???/?? ??
"subhud": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size":["100%c",
"100%"],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 이 안에 들어가는 부품 목록
"controls":[{
// ???/?? ??
"scoreup1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size":["250%y+2px",
"100%"],
// 게임 값과 연결하는 규칙 목록
"bindings":[{
// 계산/조건 결과를 연결
"binding_type": "view",
"resolve_sibling_scope": true,
"source_control_name": "subhud",
// 계산식/참조 값
"source_property_name": "(not (#text1=''))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls":[{
// ???/?? ??
"background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "$scoreup1_texture",
// ???
"alpha": "$scoreup1_alpha",
// 가로/세로 크기
"size":["100%-2px",
"100%"],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 이 안에 들어가는 부품 목록
"controls":[{
// ???/?? ??
"label": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text":"#text",
// ?? ??
"text_alignment": "center",
"shadow": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 114,
// 가로/세로 크기
"size":["100%-2px",
"100%-2px"],
// ?? ?? ??
"font_scale_factor": 0.85,
// 기준점에서 이동하는 거리
"offset":[0,
2],
// 게임 값과 연결하는 규칙 목록
"bindings":[{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#nperma",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#nperma-'nperma')",
// 결과가 들어갈 속성
"target_property_name": "#komisi"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('§z')+('%.60s'*#komisi)-('%.40s'*#komisi)-'\t')",
// 결과가 들어갈 속성
"target_property_name": "#text"
}]
}
}]
}
}]
}
},
{
// ???/?? ??
"scoreup2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size":["250%y+2px",
"100%"],
// 게임 값과 연결하는 규칙 목록
"bindings":[{
// 계산/조건 결과를 연결
"binding_type": "view",
"resolve_sibling_scope": true,
"source_control_name": "subhud",
// 계산식/참조 값
"source_property_name": "(not (#text2=''))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls":[{
// ???/?? ??
"background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "$scoreup2_texture",
// ???
"alpha": "$scoreup2_alpha",
// 가로/세로 크기
"size":["100%-2px",
"100%"],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 이 안에 들어가는 부품 목록
"controls":[{
// ???/?? ??
"label": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text":"#text",
// ?? ??
"text_alignment": "center",
"shadow": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 114,
// 가로/세로 크기
"size":["100%-2px",
"100%-2px"],
// ?? ?? ??
"font_scale_factor": 0.85,
// 기준점에서 이동하는 거리
"offset":[0,
2],
// 게임 값과 연결하는 규칙 목록
"bindings":[{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#nperma",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#nperma-'nperma')",
// 결과가 들어갈 속성
"target_property_name": "#komisi"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('§z')+('%.80s'*#komisi)-('%.60s'*#komisi)-'\t')",
// 결과가 들어갈 속성
"target_property_name": "#text"
}]
}
}]
}
}]
}
},
{
// ???/?? ??
"scoreup3": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size":["250%y+2px",
"100%"],
// 게임 값과 연결하는 규칙 목록
"bindings":[{
// 계산/조건 결과를 연결
"binding_type": "view",
"resolve_sibling_scope": true,
"source_control_name": "subhud",
// 계산식/참조 값
"source_property_name": "(not (#text3=''))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls":[{
// ???/?? ??
"background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "$scoreup3_texture",
// ???
"alpha": "$scoreup3_alpha",
// 가로/세로 크기
"size":["100%-2px",
"100%"],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 이 안에 들어가는 부품 목록
"controls":[{
// ???/?? ??
"label": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text":"#text",
// ?? ??
"text_alignment": "center",
"shadow": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 114,
// 가로/세로 크기
"size":["100%-2px",
"100%-2px"],
// ?? ?? ??
"font_scale_factor": 0.85,
// 기준점에서 이동하는 거리
"offset":[0,
2],
// 게임 값과 연결하는 규칙 목록
"bindings":[{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#nperma",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#nperma-'nperma')",
// 결과가 들어갈 속성
"target_property_name": "#komisi"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('§z')+('%.100s'*#komisi)-('%.80s'*#komisi)-'\t')",
// 결과가 들어갈 속성
"target_property_name": "#text"
}]
}
}]
}
}]
}
}],
// 게임 값과 연결하는 규칙 목록
"bindings":[{
// 계산/조건 결과를 연결
"binding_type": "view",
"resolve_sibling_scope": true,
"source_control_name": "scorehud_upper_layout",
// 계산식/참조 값
"source_property_name": "#score1",
// 결과가 들어갈 속성
"target_property_name": "#text1"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"resolve_sibling_scope": true,
"source_control_name": "scorehud_upper_layout",
// 계산식/참조 값
"source_property_name": "#score2",
// 결과가 들어갈 속성
"target_property_name": "#text2"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"resolve_sibling_scope": true,
"source_control_name": "scorehud_upper_layout",
// 계산식/참조 값
"source_property_name": "#score3",
// 결과가 들어갈 속성
"target_property_name": "#text3"
}]
}
}],
// 게임 값과 연결하는 규칙 목록
"bindings": [{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#nperma",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#nperma-'nperma')",
// 결과가 들어갈 속성
"target_property_name": "#komisi"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('%.60s'*#komisi)-('%.40s'*#komisi)-'\t')",
// 결과가 들어갈 속성
"target_property_name": "#score1"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('%.80s'*#komisi)-('%.60s'*#komisi)-'\t')",
// 결과가 들어갈 속성
"target_property_name": "#score2"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('%.100s'*#komisi)-('%.80s'*#komisi)-'\t')",
// 결과가 들어갈 속성
"target_property_name": "#score3"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((('%.6s' * #nperma) = 'nperma') and (not (#score1='')) and (not (#score2='')) and (not (#score3='')))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}]
}
}]
},
// ???/?? ??
"scorehud": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size":[85,
224],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점에서 이동하는 거리
"offset":[-2,
-18],
// 이 안에 들어가는 부품 목록
"controls":[{
// ???/?? ??
"layout": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size":["100%",
"100%"],
// 이 안에 들어가는 부품 목록
"controls":[{
// ???/?? ??
"stacked_vertical": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size":["100%",
"100%c"],
// 이 안에 들어가는 부품 목록
"controls":[{
// ???/?? ??
"title_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size":["100%",
28],
// 이 안에 들어가는 부품 목록
"controls":[{
// ???/?? ??
"title": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "$title_texture",
// 가로/세로 크기
"size":["100%",
"100%"],
// 기준점에서 이동하는 거리
"offset":[0,
0]
}
}]
}
},
{
// ???/?? ??
"empty": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size":[0,
2]
}
},
{
// ???/?? ??
"elements": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size":["100%",
16],
// 이 안에 들어가는 부품 목록
"controls":[{
// ???/?? ??
"stacked": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size":["100%",
"100%"],
// 이 안에 들어가는 부품 목록
"controls":[{
// ???/?? ??
"eb": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size":["50%-1px",
"100%"],
// 사용할 이미지 경로
"texture": "$sideleft_texture",
// ???
"alpha": "$sideleft_alpha",
// 이 안에 들어가는 부품 목록
"controls":[{
// ???/?? ??
"label": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// 가로/세로 크기
"size": ["100%-2px",
"100%-2px"],
// 겹치는 순서(숫자 클수록 위)
"layer": 144,
// 기준점에서 이동하는 거리
"offset":[0,
2],
// ?? ?? ??
"font_scale_factor": 0.8,
// ?? ??
"text_alignment": "center",
"shadow": true,
// 게임 값과 연결하는 규칙 목록
"bindings":[{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('%.20s'*(#hud_title_text_string-'nperma'))-'\t')",
// 결과가 들어갈 속성
"target_property_name": "#text"
}]
}
}]
}
},
{
// ???/?? ??
"empty": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size":[2,
0]
}
},
{
// ???/?? ??
"ep": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size":["50%-1px",
"100%"],
// 사용할 이미지 경로
"texture": "$sideright_texture",
// ???
"alpha": "$sideright_alpha",
// 이 안에 들어가는 부품 목록
"controls":[{
// ???/?? ??
"label": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// 가로/세로 크기
"size": ["100%-2px",
"100%-2px"],
// 기준점에서 이동하는 거리
"offset":[0,
2],
"shadow": true,
// ?? ?? ??
"font_scale_factor": 0.85,
// 겹치는 순서(숫자 클수록 위)
"layer": 144,
// ?? ??
"text_alignment": "center",
// 게임 값과 연결하는 규칙 목록
"bindings":[{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('§z'+('%.40s'*(#hud_title_text_string-'nperma')-('%.20s'*(#hud_title_text_string-'nperma')))-'\t')",
// 결과가 들어갈 속성
"target_property_name": "#text"
}]
}
}]
}
}]
}
}]
}
},
{
// ???/?? ??
"empty": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size":[0,
2]
}
},
{
// ???/?? ??
"body": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size":["100%",
"100%c"],
"min_size": ["100%",
80],
// 사용할 이미지 경로
"texture": "$body_texture",
// ???
"alpha": "$body_alpha",
// 이 안에 들어가는 부품 목록
"controls":[{
// ???/?? ??
"panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size":["100%",
"100%c-4px"],
// 기준점에서 이동하는 거리
"offset":[0,
2],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 이 안에 들어가는 부품 목록
"controls":[{
// ???/?? ??
"label": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
"shadow": "$body_label_shadow",
// 가로/세로 크기
"size":["100%-4px",
"default"],
// 겹치는 순서(숫자 클수록 위)
"layer": 144,
// ?? ?? ??
"font_scale_factor": 0.8,
"line_padding": 2,
// 게임 값과 연결하는 규칙 목록
"bindings":[{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('§z'+(((#hud_title_text_string-'nperma') - ('%.100s'*(#hud_title_text_string-'nperma')))-'\t')",
// 결과가 들어갈 속성
"target_property_name": "#text"
}]
}
}]
}
}]
}
}]
}
}]
}
}],
// 게임 값과 연결하는 규칙 목록
"bindings": [{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#nperma",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('%.6s' * #nperma) = 'nperma')",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}]
},
// ???/?? ??
"hud_screen": {
// 오버라이드 가능한 변수
"$additional_screen_content": "hud.nperma_root"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: inventory_screen.json
// 분류: 초보 예제 모음 / 예제3
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "crafting",
// Add custom ui to main panel
"crafting_panel_top_half": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"custom_table_ui@crafting.custom_table_ui": {} // add your custom panel here
}
]
}
]
},
// Hide normal ui if we are inside our custom table
"work_bench_panel_3x3": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#crafting_label_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#text - 'your_text_to_detect') = #text)", // if table_name has your_text_to_detect, then we don't want to show normal 3x3 crafting ui
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// Our custom ui for custom table
"custom_table_ui": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#crafting_label_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#text - 'your_text_to_detect') = #text))", // show this only if it has your_text_to_detect in it.
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: _ui_defs.json
// 분류: MagicWay UI / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// ???/?? ??
"ui_defs": [
"ui/magic_reinforcement_table_screen.json",
"ui/magic_learning_station_screen.json",
"ui/magic_ui_util.json",
"ui/scrolls_item_ui.json",
"ui/spell_binding_table_screen.json",
"ui/magic_hud_screen.json",
"ui/a_magic_way_custom_panel.json",
"ui/fast_swap_scroll.json"
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: a_magic_way_custom_panel.json
// 분류: MagicWay UI / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "a_magic_way_custom_panel",
// ???/?? ??
"long_form_replacement": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [0, 0],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_learning_station_table@magic_learning_station.magic_learning_station_content": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#title_text = 'magic_learning_station.menu')",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"fast_swap_scroll_concent@fast_swap_scroll_screen.fast_swap_scroll_content": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#title_text = 'fast_swap_scroll.menu')",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: chest_screen.json
// 분류: MagicWay UI / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "chest",
// ???/?? ??
"small_chest_screen": {
// 오버라이드 가능한 변수
"$temp_container_title|default": "$container_title",
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "variables",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// 이 조건이 맞으면 적용
"requires": "($temp_container_title = 'amw:spell_binding_table')",
// 오버라이드 가능한 변수
"$screen_content": "spell_binding_table.spell_binding_table_panel",
// 오버라이드 가능한 변수
"$screen_bg_content": "common.screen_background"
}
]
},
{
// ?? ?? ??
"array_name": "variables",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{
// 이 조건이 맞으면 적용
"requires": "($temp_container_title = 'amw:magic_reinforcement_table')",
// 오버라이드 가능한 변수
"$screen_content": "magic_reinforcement_table.magic_reinforcement_table_panel",
// 오버라이드 가능한 변수
"$screen_bg_content": "common.screen_background"
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: fast_swap_scroll.json
// 분류: MagicWay UI / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "fast_swap_scroll_screen",
// ???/?? ??
"fast_swap_scroll_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"emote_wheel_touch_zone": {
// 클릭 가능한 버튼
"type": "button",
// 가로/세로 크기
"size": [ 4096, 4096 ],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_exit",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
],
// ???
"alpha": 0
}
},
{
// ???/?? ??
"background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/spell_wheel/change_slot_wheel",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// ???
"alpha": 0.9,
// 가로/세로 크기
"size": [ 256, 256 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #is_using_gamepad)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"scroll_sort@fast_swap_scroll_screen.scroll_sort": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"gamepad_scroll_panel@fast_swap_scroll_screen.gamepad_scroll_panel": {}
}
]
},
// ???/?? ??
"gamepad_scroll_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%c", 130 ],
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"gamepad_scroll_sort@fast_swap_scroll_screen.gamepad_scroll_sort": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"left_control@fast_swap_scroll_screen.scroll_small_background": {}
},
{
// ???/?? ??
"center_control": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 60, 130 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(#form_button_length > 4)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"right_control@fast_swap_scroll_screen.scroll_small_background": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(#form_button_length > 4)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(#is_using_gamepad)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
// ???/?? ??
"scroll_small_background": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 130, 130 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/spell_wheel/change_slot_wheel_small",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// ???
"alpha": 0.9,
// 가로/세로 크기
"size": [ 128, 128 ]
}
}
]
},
// ???/?? ??
"gamepad_scroll_sort": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$label_control": "fast_swap_scroll_screen.scroll_name_controller",
// 오버라이드 가능한 변수
"$helper_control": "fast_swap_scroll_screen.gamepad_helper",
// 목록 아이템을 자동으로 생성
"factory":{
"name": "buttons",
// ??? ???
"control_name": "fast_swap_scroll_screen.gamepad_stacked_scroll"
},
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#form_button_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}
]
},
// ???/?? ??
"scroll_sort": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 목록 아이템을 자동으로 생성
"factory":{
"name": "buttons",
// ??? ???
"control_name": "fast_swap_scroll_screen.stacked_scroll"
},
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #is_using_gamepad)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
},
{
// 가져올 값 이름
"binding_name": "#form_button_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}
]
},
// ???/?? ??
"gamepad_stacked_scroll": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"scroll@fast_swap_scroll_screen.scroll_item": {
// 오버라이드 가능한 변수
"$keyboard_select": "textures/ui/generic_14x14_face_button_up",
// 오버라이드 가능한 변수
"$gamepad_pressed": "button.menu_up",
// 기준점에서 이동하는 거리
"offset": [ 65, 20 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 0)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"scroll@fast_swap_scroll_screen.scroll_item": {
// 오버라이드 가능한 변수
"$keyboard_select": "textures/ui/generic_14x14_face_button_right",
// 오버라이드 가능한 변수
"$gamepad_pressed": "button.menu_right",
// 기준점에서 이동하는 거리
"offset": [ 110, 65 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 1)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"scroll@fast_swap_scroll_screen.scroll_item": {
// 오버라이드 가능한 변수
"$keyboard_select": "textures/ui/generic_14x14_face_button_down",
// 오버라이드 가능한 변수
"$gamepad_pressed": "button.menu_down",
// 기준점에서 이동하는 거리
"offset": [ 65, 110 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 2)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"scroll@fast_swap_scroll_screen.scroll_item": {
// 오버라이드 가능한 변수
"$keyboard_select": "textures/ui/generic_14x14_face_button_left",
// 오버라이드 가능한 변수
"$gamepad_pressed": "button.menu_left",
// 기준점에서 이동하는 거리
"offset": [ 20, 65 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 3)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"scroll@fast_swap_scroll_screen.scroll_item": {
// 오버라이드 가능한 변수
"$keyboard_select": "textures/ui/generic_bumper_right",
// 오버라이드 가능한 변수
"$gamepad_pressed": "button.menu_tab_right",
// 기준점에서 이동하는 거리
"offset": [ 285, 35 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 4)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"scroll@fast_swap_scroll_screen.scroll_item": {
// 오버라이드 가능한 변수
"$keyboard_select": "textures/ui/generic_right_trigger",
// 오버라이드 가능한 변수
"$gamepad_pressed": "button.menu_alternate_tab_right",
// 기준점에서 이동하는 거리
"offset": [ 285, 95 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 5)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"scroll@fast_swap_scroll_screen.scroll_item": {
// 오버라이드 가능한 변수
"$keyboard_select": "textures/ui/generic_left_trigger",
// 오버라이드 가능한 변수
"$gamepad_pressed": "button.menu_alternate_tab_left",
// 기준점에서 이동하는 거리
"offset": [ 225, 95 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 6)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"scroll@fast_swap_scroll_screen.scroll_item": {
// 오버라이드 가능한 변수
"$keyboard_select": "textures/ui/generic_bumper_left",
// 오버라이드 가능한 변수
"$gamepad_pressed": "button.menu_tab_left",
// 기준점에서 이동하는 거리
"offset": [ 225, 35 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 7)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"scroll@fast_swap_scroll_screen.scroll_item": {
// 오버라이드 가능한 변수
"$keyboard_select": "textures/ui/xbox_face_button_left",
// 오버라이드 가능한 변수
"$gamepad_pressed": "button.controller_select",
// 기준점에서 이동하는 거리
"offset": [ 160, 130 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 8)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
},
// ???/?? ??
"stacked_scroll": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"scroll@fast_swap_scroll_screen.scroll_item": {
// 오버라이드 가능한 변수
"$keyboard_select": "keyboard.keyName.1",
// 오버라이드 가능한 변수
"$button_pressed": "button.slot1",
// 기준점에서 이동하는 거리
"offset": [ 0, -92 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 0)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"scroll@fast_swap_scroll_screen.scroll_item": {
// 오버라이드 가능한 변수
"$keyboard_select": "keyboard.keyName.2",
// 오버라이드 가능한 변수
"$button_pressed": "button.slot2",
// 기준점에서 이동하는 거리
"offset": [ 59, -70 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 1)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"scroll@fast_swap_scroll_screen.scroll_item": {
// 오버라이드 가능한 변수
"$keyboard_select": "keyboard.keyName.3",
// 오버라이드 가능한 변수
"$button_pressed": "button.slot3",
// 기준점에서 이동하는 거리
"offset": [ 91, -16 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 2)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"scroll@fast_swap_scroll_screen.scroll_item": {
// 오버라이드 가능한 변수
"$keyboard_select": "keyboard.keyName.4",
// 오버라이드 가능한 변수
"$button_pressed": "button.slot4",
// 기준점에서 이동하는 거리
"offset": [ 80, 46 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 3)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"scroll@fast_swap_scroll_screen.scroll_item": {
// 오버라이드 가능한 변수
"$keyboard_select": "keyboard.keyName.5",
// 오버라이드 가능한 변수
"$button_pressed": "button.slot5",
// 기준점에서 이동하는 거리
"offset": [ 31, 86 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 4)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"scroll@fast_swap_scroll_screen.scroll_item": {
// 오버라이드 가능한 변수
"$keyboard_select": "keyboard.keyName.6",
// 오버라이드 가능한 변수
"$button_pressed": "button.slot6",
// 기준점에서 이동하는 거리
"offset": [ -31, 86 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 5)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"scroll@fast_swap_scroll_screen.scroll_item": {
// 오버라이드 가능한 변수
"$keyboard_select": "keyboard.keyName.7",
// 오버라이드 가능한 변수
"$button_pressed": "button.slot7",
// 기준점에서 이동하는 거리
"offset": [ -80, 46 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 6)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"scroll@fast_swap_scroll_screen.scroll_item": {
// 오버라이드 가능한 변수
"$keyboard_select": "keyboard.keyName.8",
// 오버라이드 가능한 변수
"$button_pressed": "button.slot8",
// 기준점에서 이동하는 거리
"offset": [ -91, -16 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 7)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"scroll@fast_swap_scroll_screen.scroll_item": {
// 오버라이드 가능한 변수
"$keyboard_select": "keyboard.keyName.9",
// 오버라이드 가능한 변수
"$button_pressed": "button.slot9",
// 기준점에서 이동하는 거리
"offset": [ -59, -70 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 8)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
},
// ???/?? ??
"spell_label": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%c + 16px", "100%c + 2px" ],
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 오버라이드 가능한 변수
"$max_size|default": "fill",
// ???
"alpha": 0.6,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 보여줄 글자
"text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
"max_size": "$max_size",
// ?? ??
"text_alignment": "center",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#form_button_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}
]
}
}
]
},
// ???/?? ??
"scroll_name_single": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "33.33%", "33.33%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"center_label@fast_swap_scroll_screen.spell_label": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 오버라이드 가능한 변수
"$max_size": [
"64px",
"default"
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 0)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"right_label@fast_swap_scroll_screen.spell_label": {
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index < 5 and #collection_index > 0)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"left_label@fast_swap_scroll_screen.spell_label": {
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index > 4)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
},
// ???/?? ??
"scroll_name_controller": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "33.33%", "33.33%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"up_label@fast_swap_scroll_screen.spell_label": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 0)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"center_label@fast_swap_scroll_screen.spell_label": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 2 or #collection_index = 8)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"right_label@fast_swap_scroll_screen.spell_label": {
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 1 or #collection_index = 4 or #collection_index = 5)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"left_label@fast_swap_scroll_screen.spell_label": {
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 3 or #collection_index = 6 or #collection_index = 7)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
},
// ???/?? ??
"gamepad_helper_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "$keyboard_select",
// 가로/세로 크기
"size": [ 26, 26 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2
},
// ???/?? ??
"gamepad_helper": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "5%", "5%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"center_bottom@fast_swap_scroll_screen.gamepad_helper_image": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 0)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"center_top@fast_swap_scroll_screen.gamepad_helper_image": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 2 or #collection_index = 8)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"left@fast_swap_scroll_screen.gamepad_helper_image": {
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 1)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"right@fast_swap_scroll_screen.gamepad_helper_image": {
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 3)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"left_top@fast_swap_scroll_screen.gamepad_helper_image": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 4 or #collection_index = 5)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"right_top@fast_swap_scroll_screen.gamepad_helper_image": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 6 or #collection_index = 7)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
},
// ???/?? ??
"default_helper": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "33.33%", "33.33%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"center_helper": {
// 글자 표시
"type": "label",
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 보여줄 글자
"text": "$keyboard_select",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"bg": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/spell_wheel/button_helper",
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 가로/세로 크기
"size": [
"100% + 8px",
"100% + 4px"
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index = 0)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"right_helper": {
// 글자 표시
"type": "label",
// 기준점에서 이동하는 거리
"offset": [ 2, 6 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 보여줄 글자
"text": "$keyboard_select",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"bg": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/spell_wheel/button_helper",
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 가로/세로 크기
"size": [
"100% + 8px",
"100% + 4px"
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index < 5 and #collection_index > 0)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"left_helper": {
// 글자 표시
"type": "label",
// 기준점에서 이동하는 거리
"offset": [ -2, 6 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 보여줄 글자
"text": "$keyboard_select",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"bg": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/spell_wheel/button_helper",
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 가로/세로 크기
"size": [
"100% + 8px",
"100% + 4px"
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index > 4)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#keyboard_button_visible",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"none": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel"
},
// 다른 템플릿을 가져와서 확장(상속)
"scroll_item@common.button": {
// 오버라이드 가능한 변수
"$label_control|default": "fast_swap_scroll_screen.scroll_name_single",
// 오버라이드 가능한 변수
"$helper_control|default": "fast_swap_scroll_screen.default_helper",
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 오버라이드 가능한 변수
"$keyboard_select|default": "",
// 오버라이드 가능한 변수
"$button_pressed|default": "",
// 오버라이드 가능한 변수
"$gamepad_pressed|default": "",
// 가로/세로 크기
"size": [ 72, 72 ],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$touch",
// 오버라이드 가능한 변수
"$helper_control": "fast_swap_scroll_screen.none"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"label_name@$label_control": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"helper@$helper_control": {}
},
{
// ???/?? ??
"background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/scroll_frame_wheel",
// 가로/세로 크기
"size": [ "33.33%", "33.33%" ]
}
},
{
// ???/?? ??
"pressed": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/scroll_frame_wheel_pressed",
// 가로/세로 크기
"size": [ "33.33%", "33.33%" ]
}
},
{
// ???/?? ??
"hover": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/focus_border_white",
// 가로/세로 크기
"size": [ "27.7%", "27.7%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(not #is_using_gamepad)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
}
},
{
// ???/?? ??
"scroll_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "#texture",
// 가로/세로 크기
"size": [ "22.22%", "22.22%" ],
// 게임 값과 연결하는 규칙 목록
"bindings":[
{
// 가져올 값 이름
"binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#form_button_texture_file_system",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}
]
}
}
],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "$button_pressed",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
"input_mode_condition": "not_gamepad",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "$gamepad_pressed",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
"input_mode_condition": "gamepad_and_not_gaze",
// 입력 시점(pressed 등)
"mapping_type": "global"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
"input_mode_condition": "not_gamepad",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
"input_mode_condition": "not_gamepad",
// 입력 시점(pressed 등)
"mapping_type": "focused"
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: hud_screen.json
// 분류: MagicWay UI / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "hud",
// ???/?? ??
"root_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_screen_panel@magic_hud.root_panel": {}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: magic_hud_screen.json
// 분류: MagicWay UI / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "magic_hud",
// ???/?? ??
"custom_render": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$tiled|default": false,
// 오버라이드 가능한 변수
"$clip_direction|default": "up",
// 오버라이드 가능한 변수
"$fill_ratio|default": 15.0,
// 오버라이드 가능한 변수
"$size|default": [ 17, 17 ],
// 오버라이드 가능한 변수
"$uv_size|default": "$size",
// 오버라이드 가능한 변수
"$uv|default": [ 0, 0 ],
// 오버라이드 가능한 변수
"$target|default": "#roll",
// 오버라이드 가능한 변수
"$container|default": "roll_stamina_data_control",
// 오버라이드 가능한 변수
"$alpha|default": 1,
// 오버라이드 가능한 변수
"$background|default": "textures/ui/roll/default/empty",
// 오버라이드 가능한 변수
"$path|default": "textures/ui/roll/default/cooldown_",
// 가로/세로 크기
"size": "$size",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": "$size",
// ???? ?? ??
"uv": "$uv",
// ???? ??
"uv_size": "$uv_size",
// 사용할 이미지 경로
"texture": "$background",
// ???
"alpha": "$alpha"
}
},
{
// ???/?? ??
"image": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": "$size",
// ???? ?? ??
"uv": "$uv",
// ???? ??
"uv_size": "$uv_size",
// ???
"alpha": "$alpha",
// 사용할 이미지 경로
"texture": "$path",
// ??? ??
"clip_direction": "$clip_direction",
// 이미지 반복 여부
"tiled": "$tiled",
// ?? ??
"clip_pixelperfect": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$container",
// 계산식/참조 값
"source_property_name": "(1.0 - ($target / $fill_ratio))",
// 결과가 들어갈 속성
"target_property_name": "#clip_ratio"
}
]
}
}
]
},
// ???/?? ??
"magic_select_main": {
// 오버라이드 가능한 변수
"$update_id": "magic_main",
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "#texture",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ 16, 16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ???
"alpha": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control_magic_menu_main",
// 계산식/참조 값
"source_property_name": "(#stored_text - $update_id)",
// 결과가 들어갈 속성
"target_property_name": "#texture"
}
]
},
// ???/?? ??
"magic_select_left": {
// 오버라이드 가능한 변수
"$update_id": "magic_left",
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "#texture",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ 16, 16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ???
"alpha": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control_magic_menu_left",
// 계산식/참조 값
"source_property_name": "(#stored_text - $update_id)",
// 결과가 들어갈 속성
"target_property_name": "#texture"
}
]
},
// ???/?? ??
"magic_select_right": {
// 오버라이드 가능한 변수
"$update_id": "magic_right",
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "#texture",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ 16, 16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ???
"alpha": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control_magic_menu_right",
// 계산식/참조 값
"source_property_name": "(#stored_text - $update_id)",
// 결과가 들어갈 속성
"target_property_name": "#texture"
}
]
},
// ???/?? ??
"magic_cast_param": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ 22, 22 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"start": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/magic_menu/magic_cooldown_start",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "magic_data_control_1",
// 계산식/참조 값
"source_property_name": "(#spell_cooldown = 53)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"finish": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/magic_menu/magic_cooldown_finish",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "magic_data_control_1",
// 계산식/참조 값
"source_property_name": "(#spell_cooldown = 51)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"locked": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/magic_menu/locked",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "magic_data_control_1",
// 계산식/참조 값
"source_property_name": "(#spell_cooldown = 52)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"render@magic_hud.custom_render": {
// 오버라이드 가능한 변수
"$size": [ 22, 22 ],
// 오버라이드 가능한 변수
"$fill_ratio": 50.0,
// 오버라이드 가능한 변수
"$clip_direction": "down",
// 오버라이드 가능한 변수
"$background": "textures/ui/magic_menu/blank",
// 오버라이드 가능한 변수
"$path": "textures/ui/magic_menu/magic_duration/duration_full",
// 오버라이드 가능한 변수
"$container": "magic_data_control_1",
// 오버라이드 가능한 변수
"$target": "#spell_cooldown",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "magic_data_control_1",
// 계산식/참조 값
"source_property_name": "(#spell_cooldown < 51)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
},
// ???/?? ??
"magic_cast_cooldown": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$size": [ 21, 5 ],
// 오버라이드 가능한 변수
"$fill_ratio": 99.0,
// 오버라이드 가능한 변수
"$clip_direction": "left",
// 오버라이드 가능한 변수
"$background": "textures/ui/magic_menu/cooldown_empty",
// 오버라이드 가능한 변수
"$path": "textures/ui/magic_menu/cooldown_full",
// 오버라이드 가능한 변수
"$container": "magic_data_control_1",
// 오버라이드 가능한 변수
"$target": "#casting_duration",
// 가로/세로 크기
"size": "$size",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"render_full": {
// 가로/세로 크기
"size": "$size",
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/magic_menu/cooldown_complete"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"render@magic_hud.custom_render": {
// 오버라이드 가능한 변수
"$size": [ 21, 5 ],
// 오버라이드 가능한 변수
"$fill_ratio": 99.0,
// 오버라이드 가능한 변수
"$clip_direction": "left",
// 오버라이드 가능한 변수
"$background": "textures/ui/magic_menu/cooldown_empty",
// 오버라이드 가능한 변수
"$path": "textures/ui/magic_menu/cooldown_full",
// 오버라이드 가능한 변수
"$container": "magic_data_control_1",
// 오버라이드 가능한 변수
"$target": "#casting_duration",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "magic_data_control_1",
// 계산식/참조 값
"source_property_name": "(#casting_duration < 99)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "magic_data_control_1",
// 계산식/참조 값
"source_property_name": "(#casting_duration > 0)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"magic_name": {
// 오버라이드 가능한 변수
"$update_id": "magic_name_update",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%c + 24px", "100%c + 2px" ],
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// ???
"alpha": 0.5,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 보여줄 글자
"text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// ?? ??
"text_alignment": "center",
"font_size": "normal",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control_magic_menu_name",
// 계산식/참조 값
"source_property_name": "((#stored_text - $update_id)",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
}
}
]
},
// ???/?? ??
"magic_panel_selected": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 64, 24 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_select_left@magic_hud.magic_select_left": {
// 기준점에서 이동하는 거리
"offset": [ -10, 0 ],
// 가로/세로 크기
"size": [ 14, 14 ],
// ??? ??
"clip_direction": "left",
// 진행 비율(잘라내기)
"clip_ratio": 0.5,
// ?? ??
"clip_pixelperfect": true
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_select_right@magic_hud.magic_select_right": {
// 기준점에서 이동하는 거리
"offset": [ 10, 0 ],
// 가로/세로 크기
"size": [ 14, 14 ],
// ??? ??
"clip_direction": "right",
// 진행 비율(잘라내기)
"clip_ratio": 0.5,
// ?? ??
"clip_pixelperfect": true
}
},
{
// ???/?? ??
"magic_menu":{
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/magic_menu/selected_magic",
// 가로/세로 크기
"size": [ 64, 24 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ???
"alpha": 1,
// 오버라이드 가능한 변수
"$update_left": "magic_left",
// 오버라이드 가능한 변수
"$update_right": "magic_right",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control_magic_menu_right",
// 계산식/참조 값
"source_property_name": "(#stored_text - $update_right)",
// 결과가 들어갈 속성
"target_property_name": "#left_data"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control_magic_menu_left",
// 계산식/참조 값
"source_property_name": "(#stored_text - $update_left)",
// 결과가 들어갈 속성
"target_property_name": "#right_data"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#left_data = 'textures/ui/blank') and (#right_data = 'textures/ui/blank')))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"magic_menu_single":{
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/magic_menu/select_magic_single",
// 가로/세로 크기
"size": [ 64, 24 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ???
"alpha": 1,
// 오버라이드 가능한 변수
"$update_left": "magic_left",
// 오버라이드 가능한 변수
"$update_right": "magic_right",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control_magic_menu_right",
// 계산식/참조 값
"source_property_name": "(#stored_text - $update_right)",
// 결과가 들어갈 속성
"target_property_name": "#left_data"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control_magic_menu_left",
// 계산식/참조 값
"source_property_name": "(#stored_text - $update_left)",
// 결과가 들어갈 속성
"target_property_name": "#right_data"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#left_data = 'textures/ui/blank') and (#right_data = 'textures/ui/blank'))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_select_main@magic_hud.magic_select_main": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_cast_param@magic_hud.magic_cast_param": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_cast_cooldown@magic_hud.magic_cast_cooldown": {
// 기준점에서 이동하는 거리
"offset": [ 0, -20 ]
}
}
]
},
// ???/?? ??
"blink_cycle": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_sine",
// 다음 애니메이션으로 연결
"next": "@magic_hud.blink_cycle_end",
// 걸리는 시간(초)
"duration": 0.7,
// 시작 값
"from": 1,
// 끝 값
"to": 0.4
},
// ???/?? ??
"blink_cycle_end": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_sine",
// 다음 애니메이션으로 연결
"next": "@magic_hud.blink_cycle",
// 걸리는 시간(초)
"duration": 0.4,
// 시작 값
"from": 0.4,
// 끝 값
"to": 1
},
// ???/?? ??
"magic_panel_select": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 64, 24 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_select_left@magic_hud.magic_select_left": {
// 기준점에서 이동하는 거리
"offset": [ -22, 0 ],
// 가로/세로 크기
"size": [ 14, 14 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_select_right@magic_hud.magic_select_right": {
// 기준점에서 이동하는 거리
"offset": [ 22, 0 ],
// 가로/세로 크기
"size": [ 14, 14 ]
}
},
{
// ???/?? ??
"magic_menu":{
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/magic_menu/select_magic",
// 가로/세로 크기
"size": [ 64, 24 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ???
"alpha": 1,
// 오버라이드 가능한 변수
"$update_left": "magic_left",
// 오버라이드 가능한 변수
"$update_right": "magic_right",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control_magic_menu_right",
// 계산식/참조 값
"source_property_name": "(#stored_text - $update_right)",
// 결과가 들어갈 속성
"target_property_name": "#left_data"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control_magic_menu_left",
// 계산식/참조 값
"source_property_name": "(#stored_text - $update_left)",
// 결과가 들어갈 속성
"target_property_name": "#right_data"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#left_data = 'textures/ui/blank') and (#right_data = 'textures/ui/blank')))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"magic_menu_single":{
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/magic_menu/select_magic_single",
// 가로/세로 크기
"size": [ 64, 24 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ???
"alpha": 1,
// 오버라이드 가능한 변수
"$update_left": "magic_left",
// 오버라이드 가능한 변수
"$update_right": "magic_right",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control_magic_menu_right",
// 계산식/참조 값
"source_property_name": "(#stored_text - $update_right)",
// 결과가 들어갈 속성
"target_property_name": "#left_data"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_control_magic_menu_left",
// 계산식/참조 값
"source_property_name": "(#stored_text - $update_left)",
// 결과가 들어갈 속성
"target_property_name": "#right_data"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#left_data = 'textures/ui/blank') and (#right_data = 'textures/ui/blank'))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_select_main@magic_hud.magic_select_main": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_cast_param@magic_hud.magic_cast_param": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_cast_cooldown@magic_hud.magic_cast_cooldown": {
// 기준점에서 이동하는 거리
"offset": [ 0, -20 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_name@magic_hud.magic_name": {
// 기준점에서 이동하는 거리
"offset": [ 0, -22 ]
}
}
]
},
// ???/?? ??
"magic_panel_none": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 64, 24 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"magic_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 64, 24 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_panel_none@magic_hud.magic_panel_none": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "magic_data_control_1",
// 계산식/참조 값
"source_property_name": "(#spell_select = 0)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_panel_select@magic_hud.magic_panel_select": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "magic_data_control_1",
// 계산식/참조 값
"source_property_name": "(#spell_select = 2)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_panel_selected@magic_hud.magic_panel_selected": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "magic_data_control_1",
// 계산식/참조 값
"source_property_name": "(#spell_select = 1)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "magic_data_control_1",
// 계산식/참조 값
"source_property_name": "(#spell_wheel = 99)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"soul_panel@magic_hud.custom_render": {
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 오버라이드 가능한 변수
"$size": [ 16, 16 ],
// 오버라이드 가능한 변수
"$fill_ratio": 99.0,
// 오버라이드 가능한 변수
"$clip_direction": "down",
// 오버라이드 가능한 변수
"$background": "textures/ui/soul/soul_empty",
// 오버라이드 가능한 변수
"$path": "textures/ui/soul/soul_full",
// 오버라이드 가능한 변수
"$container": "magic_data_control_1",
// 오버라이드 가능한 변수
"$target": "#soul_capacity"
},
// ???/?? ??
"spell_render": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "18.75%", "18.75%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 사용할 이미지 경로
"texture": "textures/ui/scroll_frame_wheel",
// 오버라이드 가능한 변수
"$source_index": "spell_render_0",
// 오버라이드 가능한 변수
"$update_string": "spell_render_0_update",
// ???
"alpha": 0.6,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"background": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 사용할 이미지 경로
"texture": "#texture",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "66.667%", "66.667%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$source_index",
// 계산식/참조 값
"source_property_name": "(#stored_text - $update_string)",
// 결과가 들어갈 속성
"target_property_name": "#texture"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$source_index",
// 계산식/참조 값
"source_property_name": "(not(((#stored_text - $update_string) = 'disable') or ((#stored_text - $update_string) = '')))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"spell_slot_render": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "#texture",
"allow_debug_missing_texture": false,
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ "15%", "100%x" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/spell_wheel/change_slot_wheel",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// ???
"alpha": 0.9,
// 가로/세로 크기
"size": [ "200%", "200%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"label": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100%c + 24px", "100%c + 2px" ],
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 8 ],
// ???
"alpha": 0.5,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 보여줄 글자
"text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "spell_name_update_data",
// 계산식/참조 값
"source_property_name": "(#stored_text - 'spell_name_update')",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "spell_name_update_data",
// 계산식/참조 값
"source_property_name": "(not(#stored_text = 'spell_name_update'))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"spell_0@magic_hud.spell_render": {
// 기준점에서 이동하는 거리
"offset": ["0%","-75%"],
// 오버라이드 가능한 변수
"$source_index": "spell_render_0",
// 오버라이드 가능한 변수
"$update_string": "spell_render_0_update"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"spell_1@magic_hud.spell_render": {
// 기준점에서 이동하는 거리
"offset": ["47%","-56%"],
// 오버라이드 가능한 변수
"$source_index": "spell_render_1",
// 오버라이드 가능한 변수
"$update_string": "spell_render_1_update"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"spell_2@magic_hud.spell_render": {
// 기준점에서 이동하는 거리
"offset": ["73%","-12%"],
// 오버라이드 가능한 변수
"$source_index": "spell_render_2",
// 오버라이드 가능한 변수
"$update_string": "spell_render_2_update"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"spell_3@magic_hud.spell_render": {
// 기준점에서 이동하는 거리
"offset": ["64%","36%"],
// 오버라이드 가능한 변수
"$source_index": "spell_render_3",
// 오버라이드 가능한 변수
"$update_string": "spell_render_3_update"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"spell_4@magic_hud.spell_render": {
// 기준점에서 이동하는 거리
"offset": ["25%","70%"],
// 오버라이드 가능한 변수
"$source_index": "spell_render_4",
// 오버라이드 가능한 변수
"$update_string": "spell_render_4_update"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"spell_5@magic_hud.spell_render": {
// 기준점에서 이동하는 거리
"offset": ["-25%","70%"],
// 오버라이드 가능한 변수
"$source_index": "spell_render_5",
// 오버라이드 가능한 변수
"$update_string": "spell_render_5_update"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"spell_6@magic_hud.spell_render": {
// 기준점에서 이동하는 거리
"offset": ["-64%","36%"],
// 오버라이드 가능한 변수
"$source_index": "spell_render_6",
// 오버라이드 가능한 변수
"$update_string": "spell_render_6_update"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"spell_7@magic_hud.spell_render": {
// 기준점에서 이동하는 거리
"offset": ["-73%","-12%"],
// 오버라이드 가능한 변수
"$source_index": "spell_render_7",
// 오버라이드 가능한 변수
"$update_string": "spell_render_7_update"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"spell_8@magic_hud.spell_render": {
// 기준점에서 이동하는 거리
"offset": ["-47%","-56%"],
// 오버라이드 가능한 변수
"$source_index": "spell_render_8",
// 오버라이드 가능한 변수
"$update_string": "spell_render_8_update"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "magic_data_control_1",
// 계산식/참조 값
"source_property_name": "('textures/ui/spell_wheel/wand_direction_' + #spell_wheel)",
// 결과가 들어갈 속성
"target_property_name": "#texture"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "magic_data_control_1",
// 계산식/참조 값
"source_property_name": "((#spell_wheel < 99) and (not(#stored_text = '')))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"anim_effect_start": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_sine",
// 다음 애니메이션으로 연결
"next": "@magic_hud.anim_effect_end",
// 걸리는 시간(초)
"duration": 0.25,
// 시작 값
"from": 1,
// 끝 값
"to": 0.2
},
// ???/?? ??
"anim_effect_end": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_sine",
// 다음 애니메이션으로 연결
"next": "@magic_hud.anim_effect_start",
// 걸리는 시간(초)
"duration": 0.25,
// 시작 값
"from": 0.2,
// 끝 값
"to": 1
},
// ???/?? ??
"effect_ui_blank": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "19px", "19px" ],
// 오버라이드 가능한 변수
"$effect_name|default": "blank",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "custom_effect_data",
// 계산식/참조 값
"source_property_name": "(not((#stored_text - $effect_name) = #stored_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"effect_ui_template": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "19px", "19px" ],
// 사용할 이미지 경로
"texture": "textures/ui/hud_mob_effect_background",
// 오버라이드 가능한 변수
"$effect_texture|default": "textures/ui/blank",
// 오버라이드 가능한 변수
"$effect_name|default": "blank",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"effect_image": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "18px", "18px" ],
// 사용할 이미지 경로
"texture": "$effect_texture",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "custom_effect_data",
// 계산식/참조 값
"source_property_name": "((#stored_text - ($effect_name + '_low')) = #stored_text)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"effect_image_low": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "18px", "18px" ],
// 사용할 이미지 경로
"texture": "$effect_texture",
// ???
"alpha": "@magic_hud.anim_effect_start"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "custom_effect_data",
// 계산식/참조 값
"source_property_name": "(not((#stored_text - $effect_name) = #stored_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"custom_effect_renderer": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "fill", "fill" ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"blank_0@magic_hud.effect_ui_blank": {
// 오버라이드 가능한 변수
"$effect_texture": "textures/ui/effect/alternate_damage",
// 오버라이드 가능한 변수
"$effect_name": "blank_0"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"blank_1@magic_hud.effect_ui_blank": {
// 오버라이드 가능한 변수
"$effect_texture": "textures/ui/effect/alternate_damage",
// 오버라이드 가능한 변수
"$effect_name": "blank_1"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"blank_2@magic_hud.effect_ui_blank": {
// 오버라이드 가능한 변수
"$effect_texture": "textures/ui/effect/alternate_damage",
// 오버라이드 가능한 변수
"$effect_name": "blank_2"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"blank_3@magic_hud.effect_ui_blank": {
// 오버라이드 가능한 변수
"$effect_texture": "textures/ui/effect/alternate_damage",
// 오버라이드 가능한 변수
"$effect_name": "blank_3"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"blank_4@magic_hud.effect_ui_blank": {
// 오버라이드 가능한 변수
"$effect_texture": "textures/ui/effect/alternate_damage",
// 오버라이드 가능한 변수
"$effect_name": "blank_4"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"blank_5@magic_hud.effect_ui_blank": {
// 오버라이드 가능한 변수
"$effect_texture": "textures/ui/effect/alternate_damage",
// 오버라이드 가능한 변수
"$effect_name": "blank_5"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"blank_6@magic_hud.effect_ui_blank": {
// 오버라이드 가능한 변수
"$effect_texture": "textures/ui/effect/alternate_damage",
// 오버라이드 가능한 변수
"$effect_name": "blank_6"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"blank_7@magic_hud.effect_ui_blank": {
// 오버라이드 가능한 변수
"$effect_texture": "textures/ui/effect/alternate_damage",
// 오버라이드 가능한 변수
"$effect_name": "blank_7"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"effect_0@magic_hud.effect_ui_template": {
// 오버라이드 가능한 변수
"$effect_texture": "textures/ui/effect/alternate_damage",
// 오버라이드 가능한 변수
"$effect_name": "alternate_damage"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"effect_1@magic_hud.effect_ui_template": {
// 오버라이드 가능한 변수
"$effect_texture": "textures/ui/effect/bubble",
// 오버라이드 가능한 변수
"$effect_name": "bubble"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"effect_2@magic_hud.effect_ui_template": {
// 오버라이드 가능한 변수
"$effect_texture": "textures/ui/effect/floating",
// 오버라이드 가능한 변수
"$effect_name": "floating"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"effect_3@magic_hud.effect_ui_template": {
// 오버라이드 가능한 변수
"$effect_texture": "textures/ui/effect/freeze",
// 오버라이드 가능한 변수
"$effect_name": "freeze"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"effect_4@magic_hud.effect_ui_template": {
// 오버라이드 가능한 변수
"$effect_texture": "textures/ui/effect/heals",
// 오버라이드 가능한 변수
"$effect_name": "heals"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"effect_5@magic_hud.effect_ui_template": {
// 오버라이드 가능한 변수
"$effect_texture": "textures/ui/effect/magic_lasso",
// 오버라이드 가능한 변수
"$effect_name": "magic_lasso"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"effect_6@magic_hud.effect_ui_template": {
// 오버라이드 가능한 변수
"$effect_texture": "textures/ui/effect/magnetism",
// 오버라이드 가능한 변수
"$effect_name": "magnetism"
}
}
]
},
// ???/?? ??
"mob_effects_renderer": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"custom_effect_renderer@magic_hud.custom_effect_renderer": {
// 기준점에서 이동하는 거리
"offset": [ "-21px", "-8px" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right"
}
}
]
}
]
},
// ???/?? ??
"fill": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 14, 14 ]
},
// ???/?? ??
"stack_spell_fill": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 목록 이름
"collection_name": "spell_fill",
// 목록 아이템을 자동으로 생성
"factory": {
"name": "bar_factory",
// ??? ???
"control_name": "magic_hud.fill"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_stack_spell",
// 계산식/참조 값
"source_property_name": "#amount",
// 결과가 들어갈 속성
"target_property_name": "#collection_length"
}
]
},
// ???/?? ??
"stack_spell_render": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$size": [ 140, 14 ],
// 가로/세로 크기
"size": "$size",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"cooldown": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "#texture",
// 가로/세로 크기
"size": "$size",
// ???? ?? ??
"uv": [ 28, 0 ],
// ???? ??
"uv_size": [ 14, 14 ],
// 이미지 반복 여부
"tiled": true,
// ??? ??
"clip_direction": "left",
// ?? ??
"clip_pixelperfect": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 오버라이드 가능한 변수
"$divisor": 10.0,
// 오버라이드 가능한 변수
"$divisor2": 99.0,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_stack_spell",
// 계산식/참조 값
"source_property_name": "(#cooldown / $divisor2)",
// 결과가 들어갈 속성
"target_property_name": "#clip_ratio"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_stack_spell_texture",
// 계산식/참조 값
"source_property_name": "(#stored_text - 'stack_spell_texture')",
// 결과가 들어갈 속성
"target_property_name": "#texture"
}
]
}
},
{
// ???/?? ??
"active": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "#texture",
// 가로/세로 크기
"size": "$size",
// ???? ?? ??
"uv": [ 0, 0 ],
// ???? ??
"uv_size": [ 14, 14 ],
// 이미지 반복 여부
"tiled": true,
// ??? ??
"clip_direction": "left",
// ?? ??
"clip_pixelperfect": false,
// 오버라이드 가능한 변수
"$divisor": 10.0,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_stack_spell",
// 계산식/참조 값
"source_property_name": "(#active / $divisor)",
// 결과가 들어갈 속성
"target_property_name": "#clip_ratio"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_stack_spell_texture",
// 계산식/참조 값
"source_property_name": "(#stored_text - 'stack_spell_texture')",
// 결과가 들어갈 속성
"target_property_name": "#texture"
}
]
}
},
{
// ???/?? ??
"bg": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "#texture",
// 가로/세로 크기
"size": "$size",
// ???? ?? ??
"uv": [ 14, 0 ],
// ???? ??
"uv_size": [ 14, 14 ],
// 이미지 반복 여부
"tiled": true,
// ??? ??
"clip_direction": "left",
// ?? ??
"clip_pixelperfect": false,
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 오버라이드 가능한 변수
"$divisor": 10.0,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_stack_spell",
// 계산식/참조 값
"source_property_name": "(#amount / $divisor)",
// 결과가 들어갈 속성
"target_property_name": "#clip_ratio"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_stack_spell_texture",
// 계산식/참조 값
"source_property_name": "(#stored_text - 'stack_spell_texture')",
// 결과가 들어갈 속성
"target_property_name": "#texture"
}
]
}
}
]
},
// ???/?? ??
"stack_spell_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"stack_spell_fill@magic_hud.stack_spell_fill": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"stack_spell_render@magic_hud.stack_spell_render": {
// 기준점에서 이동하는 거리
"offset": [ "100%", "100%"]
}
}
// ,
// {
// "test":{
// "type": "label",
// "text": "#text",
// "bindings": [
// {
// "binding_type": "view",
// "source_control_name": "data_stack_spell_texture",
// "source_property_name": "(#stored_text - ' stack_spell_texture')",
// "target_property_name": "#text"
// }
// ]
// }
// }
]
},
// ???/?? ??
"root_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"data_control_magic": {
// 오버라이드 가능한 변수
"$update_stack_spell": "stack_spell_panel",
// 오버라이드 가능한 변수
"$update_stack_spell_texture": "stack_spell_texture",
// 오버라이드 가능한 변수
"$update_main": "magic_main",
// 오버라이드 가능한 변수
"$update_left": "magic_left",
// 오버라이드 가능한 변수
"$update_right": "magic_right",
// 오버라이드 가능한 변수
"$update_magic_name": "magic_name_update",
// 오버라이드 가능한 변수
"$update_spell_slot_0": "spell_render_0_update",
// 오버라이드 가능한 변수
"$update_spell_slot_1": "spell_render_1_update",
// 오버라이드 가능한 변수
"$update_spell_slot_2": "spell_render_2_update",
// 오버라이드 가능한 변수
"$update_spell_slot_3": "spell_render_3_update",
// 오버라이드 가능한 변수
"$update_spell_slot_4": "spell_render_4_update",
// 오버라이드 가능한 변수
"$update_spell_slot_5": "spell_render_5_update",
// 오버라이드 가능한 변수
"$update_spell_slot_6": "spell_render_6_update",
// 오버라이드 가능한 변수
"$update_spell_slot_7": "spell_render_7_update",
// 오버라이드 가능한 변수
"$update_spell_slot_8": "spell_render_8_update",
// 오버라이드 가능한 변수
"$update_spell_name": "spell_name_update",
// 오버라이드 가능한 변수
"$custom_effect": "custom_effect_update",
// 오버라이드 가능한 변수
"$update_magic_ui": "magic_ui_update",
// 오버라이드 가능한 변수
"$update_magic_ui_soul_text": "magic_ui_soul_text_update",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"data_magic_ui_soul_text": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#stored_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #stored_text) and not ((#hud_title_text_string - $update_magic_ui_soul_text) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"data_stack_spell_texture": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#stored_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #stored_text) and not ((#hud_title_text_string - $update_stack_spell_texture) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
//scriptevent ui_sub_load:stack_spell_panel a909996789stack_spell_panel
//[0-9 amount][0-10 active][0-99 cooldown][6789 kosong]
"data_stack_spell": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#stored_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#stored_text - 'a')",
// 결과가 들어갈 속성
"target_property_name": "#data"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#data/100000000)",
// 결과가 들어갈 속성
"target_property_name": "#amount"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#data/1000000) - (#amount * 100)",
// 결과가 들어갈 속성
"target_property_name": "#active"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#data/10000) - (#amount * 10000) - (#active * 100)",
// 결과가 들어갈 속성
"target_property_name": "#cooldown"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #stored_text) and not ((#hud_title_text_string - $update_stack_spell) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"magic_data_control_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#show_survival_ui",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#survival_ui"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#stored_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#stored_text - ('%.1s' * #stored_text))",
// 결과가 들어갈 속성
"target_property_name": "#data"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('%.1s' * #stored_text)",
// 결과가 들어갈 속성
"target_property_name": "#header"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#data/100000000)",
// 결과가 들어갈 속성
"target_property_name": "#spell_select"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#data / 1000000) - (#spell_select * 100)",
// 결과가 들어갈 속성
"target_property_name": "#spell_cooldown"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#data / 10000) - (#spell_cooldown * 100) - (#spell_select * 10000)",
// 결과가 들어갈 속성
"target_property_name": "#spell_wheel"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#data / 100) - (#spell_wheel * 100) - (#spell_cooldown * 10000) - (#spell_select * 1000000)",
// 결과가 들어갈 속성
"target_property_name": "#casting_duration"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#data / 1) - (#casting_duration * 100) - (#spell_wheel * 10000) - (#spell_cooldown * 1000000) - (#spell_select * 100000000)",
// 결과가 들어갈 속성
"target_property_name": "#soul_capacity"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #stored_text) and not ((#hud_title_text_string - $update_magic_ui) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"custom_effect_data": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#stored_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #stored_text) and not ((#hud_title_text_string - $custom_effect) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"spell_name_update_data": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#stored_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #stored_text) and not ((#hud_title_text_string - $update_spell_name) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"spell_render_0": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#stored_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #stored_text) and not ((#hud_title_text_string - $update_spell_slot_0) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"spell_render_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#stored_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #stored_text) and not ((#hud_title_text_string - $update_spell_slot_1) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"spell_render_2": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#stored_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #stored_text) and not ((#hud_title_text_string - $update_spell_slot_2) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"spell_render_3": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#stored_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #stored_text) and not ((#hud_title_text_string - $update_spell_slot_3) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"spell_render_4": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#stored_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #stored_text) and not ((#hud_title_text_string - $update_spell_slot_4) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"spell_render_5": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#stored_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #stored_text) and not ((#hud_title_text_string - $update_spell_slot_5) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"spell_render_6": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#stored_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #stored_text) and not ((#hud_title_text_string - $update_spell_slot_6) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"spell_render_7": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#stored_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #stored_text) and not ((#hud_title_text_string - $update_spell_slot_7) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"spell_render_8": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#stored_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #stored_text) and not ((#hud_title_text_string - $update_spell_slot_8) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"data_control_magic_menu_name": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#stored_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #stored_text) and not ((#hud_title_text_string - $update_magic_name) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"data_control_magic_menu_main": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#stored_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #stored_text) and not ((#hud_title_text_string - $update_main) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"data_control_magic_menu_left": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#stored_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #stored_text) and not ((#hud_title_text_string - $update_left) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"data_control_magic_menu_right": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string"
},
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#stored_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #stored_text) and not ((#hud_title_text_string - $update_right) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"stack_spell_panel@magic_hud.stack_spell_panel": {
// 기준점에서 이동하는 거리
"offset": [ 0, "10%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_panel@magic_hud.magic_panel": {
// 오버라이드 가능한 변수
"$offset": [ -165, 0 ],
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$pocket_edition",
// 오버라이드 가능한 변수
"$offset": [ 0, -56 ]
}
],
// 기준점에서 이동하는 거리
"offset": "$offset"
}
},
{
// ???/?? ??
"soul": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$offset": [ 98, -28 ],
// 가로/세로 크기
"size": [ 16, 16 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"denied": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/soul/soul_denied",
// 가로/세로 크기
"size": [ 16, 16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// ???
"alpha": "@magic_hud.blink_cycle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "magic_data_control_1",
// 계산식/참조 값
"source_property_name": "(#header = 'b')",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"soul_panel@magic_hud.soul_panel": {}
},
{
// ???/?? ??
"soul_text_denaid": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// 가로/세로 크기
"size": [ 128, "default" ],
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// ?? (R,G,B,A)
"color": [ 1.0, 0.1, 0.42 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// ???
"alpha": "@magic_hud.blink_cycle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_magic_ui_soul_text",
// 계산식/참조 값
"source_property_name": "(#stored_text - 'magic_ui_soul_text_update')",
// 결과가 들어갈 속성
"target_property_name": "#text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "magic_data_control_1",
// 계산식/참조 값
"source_property_name": "(#header = 'b')",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"soul_text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// 가로/세로 크기
"size": [ 128, "default" ],
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// ?? (R,G,B,A)
"color": [ 0.43, 0.92, 0.92 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_magic_ui_soul_text",
// 계산식/참조 값
"source_property_name": "(#stored_text - 'magic_ui_soul_text_update')",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
}
},
{
// ???/?? ??
"soul_text_0": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// 가로/세로 크기
"size": [ 128, "default" ],
// 기준점에서 이동하는 거리
"offset": [ 3, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// ?? (R,G,B,A)
"color": [ 0.0, 0.0, 0.0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_magic_ui_soul_text",
// 계산식/참조 값
"source_property_name": "(#stored_text - 'magic_ui_soul_text_update')",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
}
},
{
// ???/?? ??
"soul_text_1": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// 가로/세로 크기
"size": [ 128, "default" ],
// 기준점에서 이동하는 거리
"offset": [ 1, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// ?? (R,G,B,A)
"color": [ 0.0, 0.0, 0.0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_magic_ui_soul_text",
// 계산식/참조 값
"source_property_name": "(#stored_text - 'magic_ui_soul_text_update')",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
}
},
{
// ???/?? ??
"soul_text_2": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// 가로/세로 크기
"size": [ 128, "default" ],
// 기준점에서 이동하는 거리
"offset": [ 2, 1 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// ?? (R,G,B,A)
"color": [ 0.0, 0.0, 0.0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_magic_ui_soul_text",
// 계산식/참조 값
"source_property_name": "(#stored_text - 'magic_ui_soul_text_update')",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
}
},
{
// ???/?? ??
"soul_text_3": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// 가로/세로 크기
"size": [ 128, "default" ],
// 기준점에서 이동하는 거리
"offset": [ 2, -1 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// ?? (R,G,B,A)
"color": [ 0.0, 0.0, 0.0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "data_magic_ui_soul_text",
// 계산식/참조 값
"source_property_name": "(#stored_text - 'magic_ui_soul_text_update')",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_not_riding",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 조건에 따라 변수 값을 바꾸기
"variables": [
{
// 이 조건이 맞으면 적용
"requires": "$pocket_edition",
// 오버라이드 가능한 변수
"$offset": [ 110, -28 ]
}
],
// 기준점에서 이동하는 거리
"offset": "$offset"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"spell_slot_render@magic_hud.spell_slot_render": {}
}
// {
// "testaaaaa": {
// "type": "custom",
// "layer": 4,
// "anchor_from": "center",
// "anchor_to": "center",
// "renderer": "live_horse_renderer",
// "$a": "-004294967295",
// "size": [ 64, 64 ],
// "property_bag": {
// "#entity_id": "$a"
// }
// }
// }
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: magic_learning_station_screen.json
// 분류: MagicWay UI / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "magic_learning_station",
// ???/?? ??
"transparent": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/blank"
},
// ???/?? ??
"background_scroll": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/learning_station/background_scroll"
},
// ???/?? ??
"background_scroll_gap": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/learning_station/background_scroll_gap"
},
// ???/?? ??
"black_border": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/background_with_border",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"black_button_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/button_borderless_dark",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"locked_spell_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/coin_button_borderless",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"black_button_hover_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/button_border_dark",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"button_border_dark": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/black_border",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"button_border_light": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/focus_border_white",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"scroll_frame": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/scroll_frame",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"purple_border": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/purpleBorder",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"magic_learning_station_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 390, 208],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"book_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/learning_station/book_background_small"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"scroll_craft_content@magic_learning_station.scroll_craft_content": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#form_text - 'scroll_craft') = #form_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{ "gamepad_cursor@common.gamepad_cursor_button": {} }
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#title_text = 'magic_learning_station.menu')",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"magic_scroll_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 120, 145 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"background_scroll@magic_learning_station.background_scroll": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background_scroll_gap@magic_learning_station.background_scroll_gap": {
// 가로/세로 크기
"size": [ 98, 2 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -30 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background_scroll_gap@magic_learning_station.background_scroll_gap": {
// 가로/세로 크기
"size": [ 98, 2 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -80 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "desc_toggle_data",
// 계산식/참조 값
"source_property_name": "(not (#toggle_state))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
},
// ???/?? ??
"magic_scroll_list_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 210, 145 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"black_border@magic_learning_station.black_border": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@common.scrolling_panel": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 오버라이드 가능한 변수
"$show_background": false,
// 가로/세로 크기
"size": ["100% - 2px", "100% - 3px"],
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ],
// 오버라이드 가능한 변수
"$scrolling_content": "magic_learning_station.scroll_content",
// 오버라이드 가능한 변수
"$scroll_size": [ 1, "100% - 4px" ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 1, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size_touch": [ 2, 0 ]
}
}
]
},
// ???/?? ??
"scroll_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": ["100% - 4px", "100%c + 1px"],
// 기준점에서 이동하는 거리
"offset": [2,0],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 목록 아이템을 자동으로 생성
"factory":{
"name": "buttons",
// ??? ???
"control_name": "magic_learning_station.scroll_list_button"
},
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#form_button_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}
]
},
// ???/?? ??
"scroll_list_button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": ["100%", 32],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button@common.button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 가로/세로 크기
"size": ["100%", 32],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"default@magic_learning_station.button_border_dark": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"default@magic_learning_station.black_button_image": {
// 가로/세로 크기
"size": ["100%-2px", "100%-2px"]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"spell_frame@magic_learning_station.scroll_frame": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점에서 이동하는 거리
"offset": [ -4, 0 ],
// 가로/세로 크기
"size": [ 24, 24 ]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hover@magic_learning_station.button_border_light": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"default@magic_learning_station.black_button_hover_image": {
// 가로/세로 크기
"size": ["100%-2px", "100%-2px"]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"spell_frame@magic_learning_station.scroll_frame": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점에서 이동하는 거리
"offset": [ -4, 0 ],
// 가로/세로 크기
"size": [ 24, 24 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hover@magic_learning_station.button_border_light": {
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 가로/세로 크기
"size": [ 24, 24 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hover@magic_learning_station.button_border_light": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 가로/세로 크기
"size": [ 16, 16 ]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"spell_name": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점에서 이동하는 거리
"offset": [ 5, 0 ],
// ?? ??
"text_alignment": "left_middle",
// 게임 값과 연결하는 규칙 목록
"bindings":[
{
// 가져올 값 이름
"binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#content_label",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#content_label - 'amw:spell')",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#content_label",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#content_label - 'amw:spell_locked') = #content_label)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"locked_spell@magic_learning_station.button_border_dark": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"default@magic_learning_station.locked_spell_image": {
// 가로/세로 크기
"size": ["100%-2px", "100%-2px"]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"spell_frame@magic_learning_station.button_border_dark": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점에서 이동하는 거리
"offset": [ -4, 0 ],
// 가로/세로 크기
"size": [ 24, 24 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"spell_frame@magic_learning_station.locked_spell_image": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점에서 이동하는 거리
"offset": [ -5, 0 ],
// 가로/세로 크기
"size": [ 22, 22 ]
}
},
{
// ???/?? ??
"spell_name": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점에서 이동하는 거리
"offset": [ 5, 0 ],
// ?? ??
"text_alignment": "left_middle",
// 게임 값과 연결하는 규칙 목록
"bindings":[
{
// 가져올 값 이름
"binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#content_label",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#content_label - 'amw:spell_locked')",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#content_label",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#content_label - 'amw:spell_locked') = #content_label))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"spell_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "#texture",
// 겹치는 순서(숫자 클수록 위)
"layer": 6,
// 가로/세로 크기
"size": [ 16, 16 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점에서 이동하는 거리
"offset": [ -8, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings":[
{
// 가져올 값 이름
"binding_name": "#form_button_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#form_button_texture_file_system",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#content_label",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#content_label - 'amw:spell') = #content_label))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"magic_type_button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$button_image|default": "textures/ui/learning_station/fire_type_button",
// 오버라이드 가능한 변수
"$button_param|default": "fire_type",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button@common.button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 가로/세로 크기
"size": [ 64, 20 ],
"default_control": "default",
"hover_control": "hover",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"default_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "$button_image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ??? ??
"clip_direction": "left",
// 진행 비율(잘라내기)
"clip_ratio": 0.35,
// ?? ??
"clip_pixelperfect": true,
// 기준점에서 이동하는 거리
"offset": [ 34, 0 ]
}
},
{
// ???/?? ??
"hover": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "$button_image",
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// ??? ??
"clip_direction": "left",
// 진행 비율(잘라내기)
"clip_ratio": 0.15,
// ?? ??
"clip_pixelperfect": true,
// 기준점에서 이동하는 거리
"offset": [ 21, 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 보여줄 글자
"text": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ -11, 2 ],
// 가로/세로 크기
"size": [ "100%c + 12px", "100%c + 5px" ],
// ???
"alpha": 0.7,
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"actionbar_message": {
// 글자 표시
"type": "label",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 31,
// 보여줄 글자
"text": "#text",
"localize": false,
// 게임 값과 연결하는 규칙 목록
"bindings":[
{
// 가져올 값 이름
"binding_name": "#form_button_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}
]
}
}
]
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#content_label",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#content_label - 'locked') = #content_label)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"picked": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 64, 20 ],
// 기준점에서 이동하는 거리
"offset": [ 17, 0 ],
// 사용할 이미지 경로
"texture": "$button_image",
// 겹치는 순서(숫자 클수록 위)
"layer": 7,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#content_label",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#content_label - 'locked') = #content_label))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#content_label",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#content_label - $button_param) = #content_label))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"desc_toggle": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$button_image|default": "textures/ui/learning_station/description_toggle_button",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"desc_toggle_data@common.toggle": {
// 가로/세로 크기
"size": [ 64, 20 ],
// 오버라이드 가능한 변수
"$toggle_name": "desc_toggle",
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_ok",
// 입력 시점(pressed 등)
"mapping_type": "focused"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_alternate_tab_right",
// 어떤 동작을 실행할지
"to_button_id": "button.desc_toggle",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"unchecked": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "$button_image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ??? ??
"clip_direction": "right",
// 진행 비율(잘라내기)
"clip_ratio": 0.35,
// ?? ??
"clip_pixelperfect": true,
// 기준점에서 이동하는 거리
"offset": [ -34, 0 ]
}
},
{
// ???/?? ??
"unchecked_hover": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "$button_image",
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// ??? ??
"clip_direction": "right",
// 진행 비율(잘라내기)
"clip_ratio": 0.15,
// ?? ??
"clip_pixelperfect": true,
// 기준점에서 이동하는 거리
"offset": [ -21, 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 보여줄 글자
"text": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 11, 2 ],
// 가로/세로 크기
"size": [ "100%c + 12px", "100%c + 5px" ],
// ???
"alpha": 0.7,
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"actionbar_message": {
// 글자 표시
"type": "label",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 31,
// 보여줄 글자
"text": "설명 확장",
"localize": false
}
}
]
}
}
]
}
},
{
// ???/?? ??
"checked": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 64, 20 ],
// 기준점에서 이동하는 거리
"offset": [ -17, 0 ],
// 사용할 이미지 경로
"texture": "$button_image",
// 겹치는 순서(숫자 클수록 위)
"layer": 7
}
},
{
// ???/?? ??
"checked_hover": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 64, 20 ],
// 기준점에서 이동하는 거리
"offset": [ -15, 0 ],
// 사용할 이미지 경로
"texture": "$button_image",
// 겹치는 순서(숫자 클수록 위)
"layer": 7,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 보여줄 글자
"text": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 11, 2 ],
// 가로/세로 크기
"size": [ "100%c + 12px", "100%c + 5px" ],
// ???
"alpha": 0.7,
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"actionbar_message": {
// 글자 표시
"type": "label",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 31,
// 보여줄 글자
"text": "설명 확장",
"localize": false
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"close_button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$button_image|default": "textures/ui/learning_station/close_button",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button@common.button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_exit",
// 가로/세로 크기
"size": [ 64, 20 ],
"default_control": "default",
"hover_control": "hover",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"default": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "$button_image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ??? ??
"clip_direction": "right",
// 진행 비율(잘라내기)
"clip_ratio": 0.35,
// ?? ??
"clip_pixelperfect": true,
// 기준점에서 이동하는 거리
"offset": [ -34, 0 ]
}
},
{
// ???/?? ??
"hover": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "$button_image",
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// ??? ??
"clip_direction": "right",
// 진행 비율(잘라내기)
"clip_ratio": 0.15,
// ?? ??
"clip_pixelperfect": true,
// 기준점에서 이동하는 거리
"offset": [ -21, 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 보여줄 글자
"text": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 11, 2 ],
// 가로/세로 크기
"size": [ "100%c + 12px", "100%c + 5px" ],
// ???
"alpha": 0.7,
// 겹치는 순서(숫자 클수록 위)
"layer": 8,
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"actionbar_message": {
// 글자 표시
"type": "label",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 31,
// 보여줄 글자
"text": "닫기",
"localize": false
}
}
]
}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"static_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 목록 아이템을 자동으로 생성
"factory":{
"name": "buttons",
// ??? ???
"control_name": "magic_learning_station.static_panel_content"
},
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#form_button_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}
]
},
// ???/?? ??
"description": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 가로/세로 크기
"size": [ "100%", "default" ],
// ?? ?? ??
"font_scale_factor": 0.7,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#form_button_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}
]
},
// ???/?? ??
"static_panel_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"scroll_recipe": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 기준점에서 이동하는 거리
"offset": [ 108, 22 ],
// ?? ?? ??
"font_scale_factor": 0.7,
// 가로/세로 크기
"size": [ 110, 47 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#form_button_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#content_label",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "desc_toggle_data",
// 계산식/참조 값
"source_property_name": "(not (#toggle_state))",
// 결과가 들어갈 속성
"target_property_name": "#toggle_visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#content_label = 'scroll_recipe') and #toggle_visible)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
}
]
}
},
{
// ???/?? ??
"scroll_description": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 기준점에서 이동하는 거리
"offset": [ 108, -35 ],
// 가로/세로 크기
"size": [ 114, 60 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@common.scrolling_panel": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 오버라이드 가능한 변수
"$show_background": false,
// 가로/세로 크기
"size": ["100% - 2px", "100% - 3px"],
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ],
// 오버라이드 가능한 변수
"$scrolling_content": "magic_learning_station.description",
// 오버라이드 가능한 변수
"$scroll_size": [ 1, "100% - 4px" ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 1, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size_touch": [ 2, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "desc_toggle_data",
// 계산식/참조 값
"source_property_name": "(not (#toggle_state))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@common.scrolling_panel": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 오버라이드 가능한 변수
"$show_background": false,
// 가로/세로 크기
"size": ["100% - 2px", "100% + 40px"],
// 기준점에서 이동하는 거리
"offset": [ 0, 2 ],
// 오버라이드 가능한 변수
"$scrolling_content": "magic_learning_station.description",
// 오버라이드 가능한 변수
"$scroll_size": [ 1, "100% - 4px" ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 1, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size_touch": [ 2, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "desc_toggle_data",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#content_label",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#content_label = 'description_scroll')",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"craft_button@common.button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 가로/세로 크기
"size": [ 110, 20 ],
// 기준점에서 이동하는 거리
"offset": [ 107, 62 ],
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "focused"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.controller_select",
// 어떤 동작을 실행할지
"to_button_id": "$pressed_button_name",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"default": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/learning_station/button_unpress",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 보여줄 글자
"text": {
// 글자 표시
"type": "label",
// ??
"font_type": "MinecraftTen",
// 보여줄 글자
"text": "주문 제작",
// 기준점에서 이동하는 거리
"offset": [ 0, -3 ],
// ?? (R,G,B,A)
"color": [ 0.6, 0.48, 0.35 ]
}
}
]
}
},
{
// ???/?? ??
"hover": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/learning_station/button_hover",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 보여줄 글자
"text": {
// 글자 표시
"type": "label",
// ??
"font_type": "MinecraftTen",
// 보여줄 글자
"text": "주문 제작",
// 기준점에서 이동하는 거리
"offset": [ 0, -3 ],
// ?? (R,G,B,A)
"color": [ 0.1, 0.07, 0.01 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hover@magic_learning_station.button_border_light": {
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 가로/세로 크기
"size": [ "100% + 2px", "100% + 2px" ]
}
}
]
}
},
{
// ???/?? ??
"pressed": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/learning_station/button_press",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 보여줄 글자
"text": {
// 글자 표시
"type": "label",
// ??
"font_type": "MinecraftTen",
// 보여줄 글자
"text": "주문 제작",
// 기준점에서 이동하는 거리
"offset": [ 0, -1 ],
// ?? (R,G,B,A)
"color": [ 0.1, 0.07, 0.01 ]
}
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#content_label",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#content_label = 'craft')",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_type_button8@magic_learning_station.magic_type_button": {
// 오버라이드 가능한 변수
"$button_image": "textures/ui/learning_station/fire_type_button",
// 기준점에서 이동하는 거리
"offset": [ -217, -67 ],
// 오버라이드 가능한 변수
"$button_param": "fire_type"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_type_button6@magic_learning_station.magic_type_button": {
// 오버라이드 가능한 변수
"$button_image": "textures/ui/learning_station/dark_type_button",
// 기준점에서 이동하는 거리
"offset": [ -217, -50 ],
// 오버라이드 가능한 변수
"$button_param": "dark_type"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_type_button7@magic_learning_station.magic_type_button": {
// 오버라이드 가능한 변수
"$button_image": "textures/ui/learning_station/nature_type_button",
// 기준점에서 이동하는 거리
"offset": [ -217, -33 ],
// 오버라이드 가능한 변수
"$button_param": "nature_type"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_type_button1@magic_learning_station.magic_type_button": {
// 오버라이드 가능한 변수
"$button_image": "textures/ui/learning_station/wind_type_button",
// 기준점에서 이동하는 거리
"offset": [ -217, -16 ],
// 오버라이드 가능한 변수
"$button_param": "wind_type"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_type_button0@magic_learning_station.magic_type_button": {
// 오버라이드 가능한 변수
"$button_image": "textures/ui/learning_station/void_type_button",
// 기준점에서 이동하는 거리
"offset": [ -217, 0 ],
// 오버라이드 가능한 변수
"$button_param": "void_type"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_type_button5@magic_learning_station.magic_type_button": {
// 오버라이드 가능한 변수
"$button_image": "textures/ui/learning_station/ice_type_button",
// 기준점에서 이동하는 거리
"offset": [ -217, 17 ],
// 오버라이드 가능한 변수
"$button_param": "ice_type"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_type_button4@magic_learning_station.magic_type_button": {
// 오버라이드 가능한 변수
"$button_image": "textures/ui/learning_station/water_type_button",
// 기준점에서 이동하는 거리
"offset": [ -217, 34 ],
// 오버라이드 가능한 변수
"$button_param": "water_type"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_type_button2@magic_learning_station.magic_type_button": {
// 오버라이드 가능한 변수
"$button_image": "textures/ui/learning_station/thunder_type_button",
// 기준점에서 이동하는 거리
"offset": [ -217, 51 ],
// 오버라이드 가능한 변수
"$button_param": "thunder_type"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_type_button3@magic_learning_station.magic_type_button": {
// 오버라이드 가능한 변수
"$button_image": "textures/ui/learning_station/light_type_button",
// 기준점에서 이동하는 거리
"offset": [ -217, 68 ],
// 오버라이드 가능한 변수
"$button_param": "light_type"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index < 11)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"scroll_craft_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 344, 160 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 6 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"common_panel@common.common_panel": {
// 오버라이드 가능한 변수
"$show_close_button": false,
// 오버라이드 가능한 변수
"$dialog_background": "magic_learning_station.transparent"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"desc_toggle@magic_learning_station.desc_toggle": {
// 기준점에서 이동하는 거리
"offset": [ 45, 35 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@magic_learning_station.close_button": {
// 기준점에서 이동하는 거리
"offset": [ 45, 13 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_scroll_panel@magic_learning_station.magic_scroll_panel": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 기준점에서 이동하는 거리
"offset": [ -5, -2 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_scroll_list_panel@magic_learning_station.magic_scroll_list_panel": {
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 기준점에서 이동하는 거리
"offset": [ 5, -2 ]
}
},
{
// ???/?? ??
"title": {
// 글자 표시
"type": "label",
// ??
"font_type": "MinecraftTen",
// 보여줄 글자
"text": "마법 학습대",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// ?? (R,G,B,A)
"color": [ 0.23, 0.23, 0.23 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"static_panel@magic_learning_station.static_panel": {}
}
]
},
// ???/?? ??
"menu_main_button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 96, 128 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 가로/세로 크기
"size": [ 64, 128 ],
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/blank",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/ribbon_bar_text_background_hover",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/blank",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/blank",
// 오버라이드 가능한 변수
"$button_text_binding_type": "collection",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
}
]
}
},
{
// ???/?? ??
"image": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 가로/세로 크기
"size": [ 64, 128 ],
// 게임 값과 연결하는 규칙 목록
"bindings":[
{
// 가져올 값 이름
"binding_name": "#form_button_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#form_button_texture_file_system",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#texture = '') or (#texture = 'loading')))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: magic_reinforcement_table_screen.json
// 분류: MagicWay UI / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "magic_reinforcement_table",
// 다른 템플릿을 가져와서 확장(상속)
"add_button@scroll_image.container_item_with_no_durability": {
// 오버라이드 가능한 변수
"$button_ref": "magic_reinforcement_table.button_prototype",
// 가로/세로 크기
"size": [ 9, 9 ],
// 오버라이드 가능한 변수
"$item_renderer_panel_size": [ 7, 7 ],
// 오버라이드 가능한 변수
"$item_renderer_size": [ 7, 7 ],
// 오버라이드 가능한 변수
"$cell_image_size": [ 9, 9 ],
// 오버라이드 가능한 변수
"$background_images": "scroll_image.black_border",
// 오버라이드 가능한 변수
"$item_renderer": "scroll_image.attribute_add_button",
// 오버라이드 가능한 변수
"$highlight_control": "scroll_image.highlight_add_panel"
},
// 다른 템플릿을 가져와서 확장(상속)
"transform_spell_book@scroll_image.black_border": {
// 가로/세로 크기
"size": [ "100%", 25 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"container@common.container_item": {
// 오버라이드 가능한 변수
"$button_ref": "magic_reinforcement_table.button_prototype",
// 가로/세로 크기
"size": [ "100% - 1px", 23 ],
// 오버라이드 가능한 변수
"$item_renderer_panel_size": [ "100% - 1px", 23 ],
// 오버라이드 가능한 변수
"$item_renderer_offset": [ 49, 0 ],
// 오버라이드 가능한 변수
"$cell_image_size": [ "100% - 1px", 23 ],
// 오버라이드 가능한 변수
"$background_images": "scroll_image.black_button_image",
// 오버라이드 가능한 변수
"$item_renderer": "scroll_image.transform_spell",
// 오버라이드 가능한 변수
"$highlight_control": "scroll_image.highlight_transform"
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "container_items"
},
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "container_items"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index > 13)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"button_prototype@common.container_slot_button_prototype": {
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.container_auto_place",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.container_auto_place",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_auto_place",
// 어떤 동작을 실행할지
"to_button_id": "button.container_auto_place",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
}
]
},
// ???/?? ??
"magic_reinforcement_table_input": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ 0, 0 ],
// 목록 이름
"collection_name": "container_items",
// 오버라이드 가능한 변수
"$item_collection_name": "container_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"item_0@common.container_item": {
// 기준점에서 이동하는 거리
"offset": [ -68, -17 ],
// 가로/세로 크기
"size": [ 25, 25 ],
// 오버라이드 가능한 변수
"$item_renderer_panel_size": [ 25, 25 ],
// 오버라이드 가능한 변수
"$cell_image_size": [ 25, 25 ],
// 오버라이드 가능한 변수
"$cell_overlay_ref": "scroll_image.item_reinforcement_overlay",
"collection_index": 0
}
},
{
// ???/?? ??
"item_1": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 160, 156 ],
// 기준점에서 이동하는 거리
"offset": [ -175, 28 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"text@scroll_image.item_name_panel": {
// 가로/세로 크기
"size": [ 160, 156 ]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "spell_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#toggle_state"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_2@magic_reinforcement_table.add_button": {
// 기준점에서 이동하는 거리
"offset": [ 248, -23 ],
// 오버라이드 가능한 변수
"$name": "영혼 용량",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "attributes_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
"collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_3@magic_reinforcement_table.add_button": {
// 기준점에서 이동하는 거리
"offset": [ 248, -13 ],
// 오버라이드 가능한 변수
"$name": "화염 마법",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "attributes_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
"collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_4@magic_reinforcement_table.add_button": {
// 기준점에서 이동하는 거리
"offset": [ 248, -3 ],
// 오버라이드 가능한 변수
"$name": "물 마법",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "attributes_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
"collection_index": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_5@magic_reinforcement_table.add_button": {
// 기준점에서 이동하는 거리
"offset": [ 248, 7 ],
// 오버라이드 가능한 변수
"$name": "자연 마법",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "attributes_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
"collection_index": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_6@magic_reinforcement_table.add_button": {
// 기준점에서 이동하는 거리
"offset": [ 248, 17 ],
// 오버라이드 가능한 변수
"$name": "냉기 마법",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "attributes_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
"collection_index": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_7@magic_reinforcement_table.add_button": {
// 기준점에서 이동하는 거리
"offset": [ 248, 27 ],
// 오버라이드 가능한 변수
"$name": "공허 마법",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "attributes_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
"collection_index": 7
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_8@magic_reinforcement_table.add_button": {
// 기준점에서 이동하는 거리
"offset": [ 248, 37 ],
// 오버라이드 가능한 변수
"$name": "암흑 마법",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "attributes_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
"collection_index": 8
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_9@magic_reinforcement_table.add_button": {
// 기준점에서 이동하는 거리
"offset": [ 248, 47 ],
// 오버라이드 가능한 변수
"$name": "광명 마법",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "attributes_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
"collection_index": 9
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_10@magic_reinforcement_table.add_button": {
// 기준점에서 이동하는 거리
"offset": [ 248, 57 ],
// 오버라이드 가능한 변수
"$name": "바람 마법",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "attributes_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
"collection_index": 10
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_11@magic_reinforcement_table.add_button": {
// 기준점에서 이동하는 거리
"offset": [ 248, 67 ],
// 오버라이드 가능한 변수
"$name": "천둥 마법",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "attributes_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
"collection_index": 11
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_12@common.container_item": {
// 기준점에서 이동하는 거리
"offset": [ -68, 9 ],
// 오버라이드 가능한 변수
"$cell_overlay_ref": "enchanting.lapis_image",
"collection_index": 12
}
},
{
// ???/?? ??
"item_13": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 80, 126 ],
// 기준점에서 이동하는 거리
"offset": [ 208, 12 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"text@scroll_image.item_name_panel": {}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "attributes_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
"collection_index": 13
}
}
]
},
// ???/?? ??
"reinforcement_choice": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": ["100% - 4px", "100%c + 1px"],
// 기준점에서 이동하는 거리
"offset": [2,0],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 오버라이드 가능한 변수
"$scale": 21,
// 목록 이름
"collection_name": "container_items",
// 오버라이드 가능한 변수
"$item_collection_name": "container_items",
// 목록 아이템을 자동으로 생성
"factory":{
"name": "magic_reinforcement_table",
// ??? ???
"control_name": "magic_reinforcement_table.transform_spell_book"
},
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#scale": "$scale"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#scale * 1)",
// 결과가 들어갈 속성
"target_property_name": "#collection_length"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@common.scrolling_panel": {
// 오버라이드 가능한 변수
"$show_background": false,
// 가로/세로 크기
"size": ["100% - 2px", "100% - 3px"],
// 오버라이드 가능한 변수
"$scrolling_content": "magic_reinforcement_table.reinforcement_choice",
// 오버라이드 가능한 변수
"$scroll_size": [ 1, "100% - 4px" ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 1, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size_touch": [ 2, 0 ]
},
// ???/?? ??
"layout_toggle_content": {
// 이미지 표시
"type": "image",
// 기준점에서 이동하는 거리
"offset": [ 0, -1 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 사용할 이미지 경로
"texture": "$icon",
// 가로/세로 크기
"size": [ 19, 13 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"toolbar": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/toolbar_background",
// 가로/세로 크기
"size": [
"100%cm + 17px",
26
],
// 기준점에서 이동하는 거리
"offset": [ 0, 3 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"inner": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
18
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"spell_description@common_toggles.light_image_toggle": {
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "spell_toggle",
// 오버라이드 가능한 변수
"$icon": "textures/ui/spell_description",
// 오버라이드 가능한 변수
"$button_content": "magic_reinforcement_table.layout_toggle_content",
// 오버라이드 가능한 변수
"$toggle_name": "layout_toggle",
// 오버라이드 가능한 변수
"$button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_ok",
// 입력 시점(pressed 등)
"mapping_type": "focused"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_tab_left",
// 어떤 동작을 실행할지
"to_button_id": "button.spell_toggle",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
],
// 가로/세로 크기
"size": [ 25, 18 ]
}
},
{
// ???/?? ??
"space": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 0 ]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"spell_attributes@common_toggles.light_image_toggle": {
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "attributes_toggle",
// 오버라이드 가능한 변수
"$icon": "textures/ui/spell_attributes",
// 오버라이드 가능한 변수
"$button_content": "magic_reinforcement_table.layout_toggle_content",
// 오버라이드 가능한 변수
"$toggle_name": "layout_toggle",
// 오버라이드 가능한 변수
"$button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_ok",
// 입력 시점(pressed 등)
"mapping_type": "focused"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_tab_right",
// 어떤 동작을 실행할지
"to_button_id": "button.attributes_toggle",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
],
// 가로/세로 크기
"size": [ 25, 18 ]
}
},
{
// ???/?? ??
"space": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#close_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"close_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 15, "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#close_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@common.light_close_button": {
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
}
}
]
}
},
{
// ???/?? ??
"helper": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/generic_bumper_left",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ 26, 26 ],
// 기준점에서 이동하는 거리
"offset": [ -1, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(#is_using_gamepad)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"helper": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/generic_bumper_right",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 가로/세로 크기
"size": [ 26, 26 ],
// 기준점에서 이동하는 거리
"offset": [ 1, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(#is_using_gamepad)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
},
// ???/?? ??
"magic_reinforcement_table_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{ "container_gamepad_helpers@common.container_gamepad_helpers": {} },
{ "selected_item_details_factory@common.selected_item_details_factory": {} },
{ "item_lock_notification_factory@common.item_lock_notification_factory": {} },
{
// 다른 템플릿을 가져와서 확장(상속)
"root_panel@common.root_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"all_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [
"100%c",
"166px"
],
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"spell_book_panel@scroll_image.grey_border": {
// 가로/세로 크기
"size": [ 170, 166 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "spell_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"space": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 166 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "spell_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"main_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 177, 166 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"toolbar@magic_reinforcement_table.toolbar": {
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"common_panel@common.common_panel": {
// 오버라이드 가능한 변수
"$show_close_button": false
}
},
{
// ???/?? ??
"chest_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"small_chest_panel_top_half": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "50%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 12 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"chest_label": {
// 글자 표시
"type": "label",
// 기준점에서 이동하는 거리
"offset": [ 0, -5 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 보여줄 글자
"text": "마법 강화대",
// ?? (R,G,B,A)
"color": "$title_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"magic_reinforcement_table_input@magic_reinforcement_table.magic_reinforcement_table_input": {
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"black_border@scroll_image.black_border": {
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 기준점에서 이동하는 거리
"offset": [ -7, -5 ],
// 가로/세로 크기
"size": [ 130, 55 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@magic_reinforcement_table.scrolling_panel": {}
}
]
}
}
]
}
},
{ "inventory_panel_bottom_half_with_label@common.inventory_panel_bottom_half_with_label": {} },
{ "hotbar_grid@common.hotbar_grid_template": {} },
{ "inventory_take_progress_icon_button@common.inventory_take_progress_icon_button": {} },
{ "flying_item_renderer@common.flying_item_renderer": { "layer": 15 } },
{
// ???/?? ??
"point_label": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "남은 아이템 포인트:",
// 기준점에서 이동하는 거리
"offset": [ 137, -73 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "attributes_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
}
]
}
},
{
// ???/?? ??
"space": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 166 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "attributes_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_attributes_panel@scroll_image.grey_border": {
// 가로/세로 크기
"size": [ 170, 166 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "attributes_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
},
{ "inventory_selected_icon_button@common.inventory_selected_icon_button": {} },
{ "gamepad_cursor@common.gamepad_cursor_button": {} }
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: magic_ui_util.json
// 분류: MagicWay UI / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "magic_ui_util",
// ???/?? ??
"cell_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/cell_image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"black_cell_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/button_borderless_darkpressednohover",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"form_icon_black_cell": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ 18, 18 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"image": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 14, 14],
// 겹치는 순서(숫자 클수록 위)
"layer": 16,
// 게임 값과 연결하는 규칙 목록
"bindings":[
{
// 가져올 값 이름
"binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#form_button_texture_file_system",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"button_input@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ 18, 18 ],
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/blank",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/ribbon_bar_text_background_hover",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/blank",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/blank",
// 오버라이드 가능한 변수
"$border_default_alpha": 0,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#form_button_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#content_label",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "image",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "(not (#texture = 'textures/ui/blank'))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"cell_image@magic_ui_util.black_cell_image": {}
}
]
},
// ???/?? ??
"form_icon_cell": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ 18, 18 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"image": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 14, 14],
// 겹치는 순서(숫자 클수록 위)
"layer": 16,
// 게임 값과 연결하는 규칙 목록
"bindings":[
{
// 가져올 값 이름
"binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#form_button_texture_file_system",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"button_input@common_buttons.light_content_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ 18, 18 ],
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/blank",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/ribbon_bar_text_background_hover",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/blank",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/blank",
// 오버라이드 가능한 변수
"$border_default_alpha": 0,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#form_button_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#content_label",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "image",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "(not (#texture = 'textures/ui/blank'))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"cell_image@magic_ui_util.cell_image": {}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: scrolls_item_ui.json
// 분류: MagicWay UI / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "scroll_image",
// ???/?? ??
"item_reinforcement_animation": {
// 프레임 애니메이션
"anim_type": "flip_book",
"initial_uv": [ 0, 0 ],
"frame_count": 5,
"frame_step": 16,
"fps": 1.0,
// 움직임 곡선
"easing": "linear"
},
// ???/?? ??
"item_binding_animation": {
// 프레임 애니메이션
"anim_type": "flip_book",
"initial_uv": [ 0, 0 ],
"frame_count": 2,
"frame_step": 16,
"fps": 1.0,
// 움직임 곡선
"easing": "linear"
},
// ???/?? ??
"container_overlay": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name",
// ?? ???
"binding_condition": "none"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not(#item_id_aux > 0))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"black_cell_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/button_borderless_darkpressednohover"
},
// ???/?? ??
"black_button_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/button_borderless_dark",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// 다른 템플릿을 가져와서 확장(상속)
"scroll_overlay@scroll_image.container_overlay": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 16, 16 ],
// 사용할 이미지 경로
"texture": "textures/ui/scroll_binding_item",
// ???? ?? ??
"uv": "@scroll_image.item_binding_animation",
// ???? ??
"uv_size": [ 16, 16 ]
},
// 다른 템플릿을 가져와서 확장(상속)
"spell_book_overlay@scroll_image.container_overlay": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 16, 16 ],
// 사용할 이미지 경로
"texture": "textures/ui/casting_binding_item",
// ???? ?? ??
"uv": "@scroll_image.item_binding_animation",
// ???? ??
"uv_size": [ 16, 16 ]
},
// 다른 템플릿을 가져와서 확장(상속)
"item_reinforcement_overlay@scroll_image.container_overlay": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 16, 16 ],
// 사용할 이미지 경로
"texture": "textures/ui/reinforcement_item",
// ???? ?? ??
"uv": "@scroll_image.item_reinforcement_animation",
// ???? ??
"uv_size": [ 16, 16 ]
},
// ???/?? ??
"grey_border": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/greyBorder",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"add_button": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/attribute_add_button",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"empty": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"black_border": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/background_with_border"
},
// ???/?? ??
"container_item_with_no_durability": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ 18, 18 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 오버라이드 가능한 변수
"$cell_image_size|default": [ 18, 18 ],
// 오버라이드 가능한 변수
"$cell_overlay_ref|default": "common.cell_overlay",
// 오버라이드 가능한 변수
"$button_ref|default": "common.container_slot_button_prototype",
// 오버라이드 가능한 변수
"$stack_count_required|default": true,
// 오버라이드 가능한 변수
"$durability_bar_required|default": true,
// 오버라이드 가능한 변수
"$storage_bar_required|default": true,
// 오버라이드 가능한 변수
"$item_renderer|default": "common.item_renderer",
// 오버라이드 가능한 변수
"$item_renderer_panel_size|default": [ 18, 18 ],
// 오버라이드 가능한 변수
"$item_renderer_size|default": [ 16, 16 ],
// 오버라이드 가능한 변수
"$item_renderer_offset|default": [ 0, 0 ],
// 오버라이드 가능한 변수
"$background_images|default": "common.cell_image_panel",
// 오버라이드 가능한 변수
"$background_image_control_name|default": "bg",
// 오버라이드 가능한 변수
"$focus_id|default": "",
// 오버라이드 가능한 변수
"$focus_override_down|default": "",
// 오버라이드 가능한 변수
"$focus_override_up|default": "",
// 오버라이드 가능한 변수
"$focus_override_left|default": "",
// 오버라이드 가능한 변수
"$focus_override_right|default": "",
// 포커스 이동용 ID
"focus_identifier": "$focus_id",
// 아래로 이동할 대상
"focus_change_down": "$focus_override_down",
// 위로 이동할 대상
"focus_change_up": "$focus_override_up",
// 왼쪽으로 이동할 대상
"focus_change_left": "$focus_override_left",
// 오른쪽으로 이동할 대상
"focus_change_right": "$focus_override_right",
// 포커스 가능 여부
"focus_enabled": true,
// 끝에서 다시 처음으로 순환
"focus_wrap_enabled": false,
"focus_magnet_enabled": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"item_cell": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$cell_image_size",
// 겹치는 순서(숫자 클수록 위)
"layer": 0,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"$background_image_control_name@$background_images": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// ???/?? ??
"item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$item_renderer_panel_size",
// 겹치는 순서(숫자 클수록 위)
"layer": 0,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"stack_count_label@common.stack_count_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 27
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"$item_renderer@$item_renderer": {
// 가로/세로 크기
"size": "$item_renderer_size",
// 기준점에서 이동하는 거리
"offset": "$item_renderer_offset",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 겹치는 순서(숫자 클수록 위)
"layer": 7
}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_cell_overlay_ref@$cell_overlay_ref": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_selected_image@common.slot_selected": {
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_button_ref@$button_ref": {
"tts_ignore_count": true,
"tts_skip_message": true,
"tts_inherit_siblings": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"container_item_lock_overlay@common.container_item_lock_overlay": {
// 가로/세로 크기
"size": "$item_renderer_size",
// 기준점에서 이동하는 거리
"offset": [ 1, 1 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_lock_cell_image@common.item_lock_cell_image": {
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"attribute_add_button@scroll_image.add_button": {
// 오버라이드 가능한 변수
"$name|default": "Wind Magic",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"name_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 140, "100%" ],
// 기준점에서 이동하는 거리
"offset": [ -5, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"name": {
// 글자 표시
"type": "label",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 보여줄 글자
"text": "$name"
}
},
{
// 보여줄 글자
"text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "[ > ]",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle"
}
}
]
}
}
]
},
// ???/?? ??
"item_name_panel": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hover_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#hover_text",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
},
// ???/?? ??
"highlight_add_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"highlight@common.highlight_slot": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"hover_text": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "hover_text_renderer",
"allow_clipping": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 20,
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#hover_text": "Require 3 Lapis Lazuli"
}
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#show_persistent_bundle_hover_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"white_border@common.white_border_slot": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#show_persistent_bundle_hover_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
},
// ???/?? ??
"highlight_transform": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"highlight@common.highlight_slot": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hover_text@common.hover_text": {
// 겹치는 순서(숫자 클수록 위)
"layer": 29,
// 오버라이드 가능한 변수
"$hover_text_binding_name|default": "#hover_text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "$hover_text_binding_name",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#hover_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#hover_text - 'UNLISTED' = #hover_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#show_persistent_bundle_hover_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"white_border@common.white_border_slot": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#show_persistent_bundle_hover_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
},
// ???/?? ??
"transform_spell": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 180, 20 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"item_container@scroll_image.black_cell_image": {
// 가로/세로 크기
"size": [ 20, 20 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"item@common.item_renderer": {
// 가로/세로 크기
"size": [ 16, 16 ]
}
}
],
// 겹치는 순서(숫자 클수록 위)
"layer": -5,
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle"
}
},
{
// ???/?? ??
"name_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 90, 20 ],
// 기준점에서 이동하는 거리
"offset": [ -23, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"item_name_panel": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
"max_size": [ 90, 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hover_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('%.35s' * #hover_text) - ' '",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hover_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#hover_text - 'UNLISTED' = #hover_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
},
// ???/?? ??
"template": {
// 이미지 표시
"type": "image",
// ???
"alpha": 1.0,
// 사용할 이미지 경로
"texture": "#texture",
// 가로/세로 크기
"size": [ 16, 16 ],
"allow_debug_missing_texture": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 6,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hover_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 목록 이름
"binding_collection_name": "$item_collection_name",
// 계산식/참조 값
"source_property_name": "('textures/ui/magic_list/' + ((#hover_text - ('%.6s' * #hover_text)) - '§r') + '')",
// 결과가 들어갈 속성
"target_property_name": "#texture"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#hover_text - 'undefined' = #hover_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: server_form.json
// 분류: MagicWay UI / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "server_form",
// ???/?? ??
"main_screen_content": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// ???/?? ??
"server_form_factory": {
// 리스트를 자동으로 생성하는 공장
"type": "factory",
// 팩토리 템플릿 매핑
"control_ids": {
"long_form": "@a_magic_way_custom_panel.long_form_replacement"
}
}
}
]
}
]
},
// ???/?? ??
"long_form": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "bindings",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "inside_header_panel",
// 계산식/참조 값
"source_property_name": "#stored_text",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
]
},
// ???/?? ??
"long_form_panel": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#form_text - 'menu.invisible') = #form_text)",
// 결과가 들어갈 속성
"target_property_name": "#stored_text"
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: spell_binding_table_screen.json
// 분류: MagicWay UI / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "spell_binding_table",
// 다른 템플릿을 가져와서 확장(상속)
"spell_item@common.container_item": {
// 오버라이드 가능한 변수
"$background_images": "scroll_image.black_cell_image",
// 오버라이드 가능한 변수
"$item_renderer": "scroll_image.empty"
},
// ???/?? ??
"spell_render": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 18, 18 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"image@scroll_image.template": {}
},
{
// ???/?? ??
"locked": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/magic_lock",
// 가로/세로 크기
"size": [ 16, 16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 6,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hover_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not(#hover_text - 'locked' = #hover_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
},
// ???/?? ??
"spell_binding_table_input": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [ 0, 0 ],
// 목록 이름
"collection_name": "container_items",
// 오버라이드 가능한 변수
"$item_collection_name": "container_items",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"item_0@common.container_item": {
// 기준점에서 이동하는 거리
"offset": [ -15, -25 ],
// 오버라이드 가능한 변수
"$cell_overlay_ref": "scroll_image.spell_book_overlay",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name",
// ?? ???
"binding_condition": "none"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#item_id_aux > 0))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
"collection_index": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_0@common.container_item": {
// 기준점에서 이동하는 거리
"offset": [ -15, -25 ],
// 오버라이드 가능한 변수
"$cell_overlay_ref": "scroll_image.spell_book_overlay",
// 오버라이드 가능한 변수
"$button_ref": "magic_reinforcement_table.button_prototype",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "$item_collection_name"
},
{
// 가져올 값 이름
"binding_name": "#item_id_aux",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "$item_collection_name",
// ?? ???
"binding_condition": "none"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#item_id_aux > 0)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
"collection_index": 0
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_1@common.container_item": {
// 기준점에서 이동하는 거리
"offset": [ 15, -25 ],
// 오버라이드 가능한 변수
"$cell_overlay_ref": "scroll_image.scroll_overlay",
"collection_index": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_2@spell_binding_table.spell_item": {
// 기준점에서 이동하는 거리
"offset": [ -72, 10 ],
"collection_index": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_3@spell_binding_table.spell_item": {
// 기준점에서 이동하는 거리
"offset": [ -54, 10 ],
"collection_index": 3
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_4@spell_binding_table.spell_item": {
// 기준점에서 이동하는 거리
"offset": [ -36, 10 ],
"collection_index": 4
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_5@spell_binding_table.spell_item": {
// 기준점에서 이동하는 거리
"offset": [ -18, 10 ],
"collection_index": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_6@spell_binding_table.spell_item": {
// 기준점에서 이동하는 거리
"offset": [ 0, 10 ],
"collection_index": 6
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_7@spell_binding_table.spell_item": {
// 기준점에서 이동하는 거리
"offset": [ 18, 10 ],
"collection_index": 7
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_8@spell_binding_table.spell_item": {
// 기준점에서 이동하는 거리
"offset": [ 36, 10 ],
"collection_index": 8
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_9@spell_binding_table.spell_item": {
// 기준점에서 이동하는 거리
"offset": [ 54, 10 ],
"collection_index": 9
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_10@spell_binding_table.spell_item": {
// 기준점에서 이동하는 거리
"offset": [ 72, 10 ],
"collection_index": 10
}
},
{
// ???/?? ??
"item_11": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 160, 156 ],
// 기준점에서 이동하는 거리
"offset": [ -175, 28 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"text@scroll_image.item_name_panel": {
// 가로/세로 크기
"size": [ 160, 156 ]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "container_items"
},
{
// 가져올 값 이름
"binding_name": "#collection_index",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "container_items"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "spell_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#toggle_state"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
"collection_index": 11
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_12@spell_binding_table.spell_render": {
// 기준점에서 이동하는 거리
"offset": [ -72, 10 ],
"collection_index": 12
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_13@spell_binding_table.spell_render": {
// 기준점에서 이동하는 거리
"offset": [ -54, 10 ],
"collection_index": 13
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_14@spell_binding_table.spell_render": {
// 기준점에서 이동하는 거리
"offset": [ -36, 10 ],
"collection_index": 14
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_15@spell_binding_table.spell_render": {
// 기준점에서 이동하는 거리
"offset": [ -18, 10 ],
"collection_index": 15
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_16@spell_binding_table.spell_render": {
// 기준점에서 이동하는 거리
"offset": [ 0, 10 ],
"collection_index": 16
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_17@spell_binding_table.spell_render": {
// 기준점에서 이동하는 거리
"offset": [ 18, 10 ],
"collection_index": 17
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_18@spell_binding_table.spell_render": {
// 기준점에서 이동하는 거리
"offset": [ 36, 10 ],
"collection_index": 18
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_19@spell_binding_table.spell_render": {
// 기준점에서 이동하는 거리
"offset": [ 54, 10 ],
"collection_index": 19
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"item_20@spell_binding_table.spell_render": {
// 기준점에서 이동하는 거리
"offset": [ 72, 10 ],
"collection_index": 20
}
}
]
},
// ???/?? ??
"layout_toggle_content": {
// 이미지 표시
"type": "image",
// 기준점에서 이동하는 거리
"offset": [ 0, -1 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 사용할 이미지 경로
"texture": "$icon",
// 가로/세로 크기
"size": [ 19, 13 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"toolbar": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/toolbar_background",
// 가로/세로 크기
"size": [
"100%cm + 17px",
26
],
// 기준점에서 이동하는 거리
"offset": [ 0, 3 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_right",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"inner": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
18
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"spell_description@common_toggles.light_image_toggle": {
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "spell_toggle",
// 오버라이드 가능한 변수
"$icon": "textures/ui/spell_description",
// 오버라이드 가능한 변수
"$button_content": "spell_binding_table.layout_toggle_content",
// 오버라이드 가능한 변수
"$toggle_name": "layout_toggle",
// 오버라이드 가능한 변수
"$button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_select",
// 입력 시점(pressed 등)
"mapping_type": "pressed"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_ok",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_ok",
// 입력 시점(pressed 등)
"mapping_type": "focused"
},
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_tab_left",
// 어떤 동작을 실행할지
"to_button_id": "button.spell_toggle",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
],
// 가로/세로 크기
"size": [ 25, 18 ]
}
},
{
// ???/?? ??
"space": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#close_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// ???/?? ??
"close_button_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 15, "100%" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#close_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@common.light_close_button": {
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center"
}
}
]
}
}
]
}
},
{
// ???/?? ??
"helper": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/generic_bumper_left",
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ 26, 26 ],
// 기준점에서 이동하는 거리
"offset": [ -1, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "(#is_using_gamepad)",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
}
]
},
// ???/?? ??
"spell_binding_table_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{ "container_gamepad_helpers@common.container_gamepad_helpers": {} },
{ "selected_item_details_factory@common.selected_item_details_factory": {} },
{ "item_lock_notification_factory@common.item_lock_notification_factory": {} },
{
// 다른 템플릿을 가져와서 확장(상속)
"root_panel@common.root_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"all_panel": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [
"100%c",
"166px"
],
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"spell_book_panel@scroll_image.grey_border": {
// 가로/세로 크기
"size": [ 170, 166 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "spell_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"space": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 2, 166 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "spell_toggle",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"main_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 177, 166 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"toolbar@spell_binding_table.toolbar": {
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"common_panel@common.common_panel": {
// 오버라이드 가능한 변수
"$show_close_button": false
}
},
{
// ???/?? ??
"chest_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"small_chest_panel_top_half": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "50%" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 12 ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"chest_label": {
// 글자 표시
"type": "label",
// 기준점에서 이동하는 거리
"offset": [ 0, -5 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 보여줄 글자
"text": "주문 결속대",
// ?? (R,G,B,A)
"color": "$title_text_color",
// 겹치는 순서(숫자 클수록 위)
"layer": 2
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"spell_binding_table_input@spell_binding_table.spell_binding_table_input": {
}
},
{
// ???/?? ??
"black_border": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/background_with_border",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 기준점에서 이동하는 거리
"offset": [ 0, 10 ],
// 가로/세로 크기
"size": [ 168, 24 ]
}
},
{
// ???/?? ??
"item_cell_bridge": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/item_cell_bridge",
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// 기준점에서 이동하는 거리
"offset": [ 0, -25 ],
// 가로/세로 크기
"size": [ 14, 6 ]
}
}
]
}
},
{ "inventory_panel_bottom_half_with_label@common.inventory_panel_bottom_half_with_label": {} },
{ "hotbar_grid@common.hotbar_grid_template": {} },
{ "inventory_take_progress_icon_button@common.inventory_take_progress_icon_button": {} },
{ "flying_item_renderer@common.flying_item_renderer": { "layer": 15 } }
]
}
}
]
}
}
]
}
},
{ "inventory_selected_icon_button@common.inventory_selected_icon_button": {} },
{ "gamepad_cursor@common.gamepad_cursor_button": {} }
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: server_form (1).jsonc
// 분류: StarLib / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
//=======================================
//
// Website & Documentation - https://pipangry.github.io/docs-starlib
//
// StarLibV2 MatrixUI example | by pipa_ngry
// Use it only for educational purposes!
// Thanks =)
//
//=======================================
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "server_form",
// 다른 템플릿을 가져와서 확장(상속)
"third_party_server_screen@common.base_screen": {
// 오버라이드 가능한 변수
"$screen_content": "server_form.server_form",
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_exit",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
]
},
// ???/?? ??
"server_form": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"server_form_factory": {
// 리스트를 자동으로 생성하는 공장
"type": "factory",
// 팩토리 템플릿 매핑
"control_ids": {
"long_form": "@server_form.long_form",
"custom_form": "@server_form.custom_form"
}
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"long_form@starlib_pkg_screen_template.screen": {
// 오버라이드 가능한 변수
"$SCREEN_TEMPLATE_fade_enabled": true,
// 오버라이드 가능한 변수
"$SCREEN_TEMPLATE_fade_alpha": 0.4,
// 오버라이드 가능한 변수
"$HEADER_TEMPLATE_style_control": "global.empty_panel",
// 오버라이드 가능한 변수
"$HEADER_TEMPLATE_title_control": "server_form.title",
// 오버라이드 가능한 변수
"$HEADER_TEMPLATE_contents_size": [
"100% - 46px",
"100%"
],
// 오버라이드 가능한 변수
"$HEADER_TEMPLATE_close_button_control": "server_form.close_button",
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_form_background_texture": "textures/matrix/background",
// 오버라이드 가능한 변수
"$form_size": [
350,
235
],
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_content_size": [
"100% - 32px",
"100% - 30px"
],
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_content_offset": [
0,
-10
],
// 오버라이드 가능한 변수
"$SCROLLING_CONTENT_additional_content_margins_size": [
0,
1
],
// 오버라이드 가능한 변수
"$SCROLLING_CONTENT_main_control": "global.grid",
// 오버라이드 가능한 변수
"$grid_item": "starlib_pkg_button_templates.grid_item_template",
// 오버라이드 가능한 변수
"$GRID_ITEM_root_control": "starlib_pkg_button_templates.big_button",
// 오버라이드 가능한 변수
"$GRID_ITEM_size": [
"25%",
"100%x"
],
// 오버라이드 가능한 변수
"$GRID_ITEM_root_size": [
"100% - 4px",
"100% - 4px"
],
// 오버라이드 가능한 변수
"$BIG_BUTTON_image_overlap_control": "server_form.gradient",
// 오버라이드 가능한 변수
"$BIG_BUTTON_content_control": "server_form.button_content",
// 오버라이드 가능한 변수
"$BIG_BUTTON_content_size": [
"100% - 6px",
"100% - 6px"
],
// 오버라이드 가능한 변수
"$BIG_BUTTON_image_size": [
"100% - 8px",
"100% - 8px"
],
// 오버라이드 가능한 변수
"$BIG_BUTTON_overlap_size": [
"100% - 2px",
"100% - 2px"
],
// 오버라이드 가능한 변수
"$COMMON_BUTTON_hover_control": "server_form.button_hover",
// 오버라이드 가능한 변수
"$BUTTON_STYLE_default_texture": "textures/matrix/button"
},
// 다른 템플릿을 가져와서 확장(상속)
"gradient@style.image": {
// 사용할 이미지 경로
"texture": "textures/matrix/gradient",
// ???
"alpha": 0.5
},
// 다른 템플릿을 가져와서 확장(상속)
"button_hover@style.image": {
// 사용할 이미지 경로
"texture": "textures/matrix/button_hover"
},
// 다른 템플릿을 가져와서 확장(상속)
"title@starlib_pkg_screen_common.title_template": {
// ?? ??
"text_alignment": "left",
// ??
"font_type": "MinecraftTen",
// ?? (R,G,B,A)
"color": [
0,
-235,
-103
],
// ?? ?? ??
"font_scale_factor": 1.3
},
// 다른 템플릿을 가져와서 확장(상속)
"button_content@starlib_pkg_button_templates.common_big_button_content": {
// ?? (R,G,B,A)
"color": [
0,
-235,
-103
]
},
// 다른 템플릿을 가져와서 확장(상속)
"close_button@starlib_pkg_screen_common.close_button_template": {
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_default_control": "server_form.close_button_default",
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_hover_control": "server_form.close_button_hover",
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_pressed_control": "server_form.close_button_hover",
// 기준점에서 이동하는 거리
"offset": [
2,
2
]
},
// 다른 템플릿을 가져와서 확장(상속)
"close_button_default@style.image": {
// 사용할 이미지 경로
"texture": "textures/matrix/close_button"
},
// 다른 템플릿을 가져와서 확장(상속)
"close_button_hover@style.image": {
// 사용할 이미지 경로
"texture": "textures/matrix/close_button_hover"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: server_form (2).jsonc
// 분류: StarLib / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
//=======================================
//
// Website & Documentation - https://pipangry.github.io/docs-starlib
//
// StarLibV2 MultiForm example | by pipa_ngry
// Use it only for educational purposes!
// Thanks =)
//
//=======================================
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "server_form",
// 다른 템플릿을 가져와서 확장(상속)
"third_party_server_screen@common.base_screen": {
// 오버라이드 가능한 변수
"$screen_content": "server_form.server_form",
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_exit",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
]
},
// ???/?? ??
"server_form": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"server_form_factory": {
// 리스트를 자동으로 생성하는 공장
"type": "factory",
// 팩토리 템플릿 매핑
"control_ids": {
"long_form": "@server_form.long_form",
"custom_form": "@server_form.custom_form"
}
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"long_form@starlib_pkg_screen_template.screen": {
// 오버라이드 가능한 변수
"$SCREEN_TEMPLATE_fade_enabled": true,
// 오버라이드 가능한 변수
"$HEADER_TEMPLATE_style_control": "server_form.header",
// 오버라이드 가능한 변수
"$HEADER_TEMPLATE_close_button_control": "global.empty_panel",
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_size": [
"100%",
18
],
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_text_enabled": true,
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_default_control": "server_form.close_button",
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_hover_control": "server_form.hover",
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_pressed_control": "server_form.hover",
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_text_offset": [
0,
-2
],
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_appear_sub_contents_padding": true,
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_appear_header_padding": false,
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_sub_content_control": "starlib_pkg_screen_common.async_close_button",
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_background_texture": "textures/multiform/background",
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_between_contents_padding_size": [
0,
1
],
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_content_size": [
"100% - 14px",
"100% - 14px"
],
// 오버라이드 가능한 변수
"$BUTTON_STYLE_default_texture": "textures/multiform/button",
// 오버라이드 가능한 변수
"$COMMON_BUTTON_hover_control": "server_form.hover",
// 오버라이드 가능한 변수
"$COMMON_BUTTON_pressed_control": "server_form.hover",
// 오버라이드 가능한 변수
"$forms_holder_controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"form@global.reverse_title_binding": {
// 오버라이드 가능한 변수
"$form_size": [
280,
225
],
// 오버라이드 가능한 변수
"$SCROLLING_CONTENT_form_text_control": "server_form.form_text",
// 오버라이드 가능한 변수
"$button_item_control": "starlib_pkg_button_templates.horizontal_button_template",
// 오버라이드 가능한 변수
"$BORDERED_BUTTON_background_control": "global.empty_panel",
// 오버라이드 가능한 변수
"$SCROLLING_CONTENT_additional_content_margins_size": [
0,
1
],
// 오버라이드 가능한 변수
"$key": "§f§0§0",
// 오버라이드 가능한 변수
"$control": "starlib_pkg_screen_template.form_template",
// 가로/세로 크기
"size": [
"100%c",
"100%c"
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"form@global.title_binding": {
// 오버라이드 가능한 변수
"$form_size": [
340,
235
],
// 오버라이드 가능한 변수
"$scrolling_content": "server_form.buttons_grid",
// 오버라이드 가능한 변수
"$COMMON_PAPERDOLL_size": [
"33.3%",
"100%"
],
// 오버라이드 가능한 변수
"$COMMON_PAPERDOLL_background_texture": "textures/multiform/paperdoll_background",
// 오버라이드 가능한 변수
"$PAPERDOLL_offset": [
0,
-30
],
// 오버라이드 가능한 변수
"$CONTENT_enable_paperdoll": true,
// 오버라이드 가능한 변수
"$CONTENT_between_contents_padding_size": [
5,
0
],
// 오버라이드 가능한 변수
"$CUBIC_BUTTON_image_size": [
"100% - 16px",
"100% - 16px"
],
// 오버라이드 가능한 변수
"$CUBIC_BUTTON_bottom_padding_size": [
0,
3
],
// 오버라이드 가능한 변수
"$key": "§f§0§0",
// 오버라이드 가능한 변수
"$control": "starlib_pkg_screen_template.form_template",
// 가로/세로 크기
"size": [
"100%c",
"100%c"
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"buttons_grid@global.grid": {
// 오버라이드 가능한 변수
"$grid_item": "server_form.grid_button"
},
// 다른 템플릿을 가져와서 확장(상속)
"grid_button@starlib_pkg_button_templates.grid_item_template": {
// 오버라이드 가능한 변수
"$GRID_ITEM_root_control": "starlib_pkg_button_templates.cubic_button",
// 오버라이드 가능한 변수
"$GRID_ITEM_size": [
"33.3%",
96
]
},
// 다른 템플릿을 가져와서 확장(상속)
"header@style.image": {
// 사용할 이미지 경로
"texture": "textures/multiform/header"
},
// 다른 템플릿을 가져와서 확장(상속)
"close_button@style.image": {
// 사용할 이미지 경로
"texture": "textures/multiform/close_button"
},
// 다른 템플릿을 가져와서 확장(상속)
"hover@style.image": {
// 사용할 이미지 경로
"texture": "textures/multiform/hover"
},
// 다른 템플릿을 가져와서 확장(상속)
"form_text@starlib_pkg_screen_common.form_text_template": {
// 가로/세로 크기
"size": [
"100% - 2px",
"default"
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: server_form (3).jsonc
// 분류: StarLib / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
//=======================================
//
// Website & Documentation - https://pipangry.github.io/docs-starlib
//
// StarLibV2 NutUI V2 example | by pipa_ngry
// Use it only for educational purposes!
// Thanks =)
//
//=======================================
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "server_form",
// 다른 템플릿을 가져와서 확장(상속)
"third_party_server_screen@common.base_screen": {
// 오버라이드 가능한 변수
"$screen_content": "server_form.server_form",
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_exit",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
]
},
// ???/?? ??
"server_form": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"server_form_factory": {
// 리스트를 자동으로 생성하는 공장
"type": "factory",
// 팩토리 템플릿 매핑
"control_ids": {
"long_form": "@server_form.long_form",
"custom_form": "@server_form.custom_form"
}
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"long_form@starlib_pkg_screen_template.screen": {
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_header_control": "starlib_pkg_dynamic_common.common_dynamic_header",
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_background_texture": "textures/example/background",
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_content_size": [
"100% - 20px",
"100% - 16px"
],
// 오버라이드 가능한 변수
"$HORIZONTAL_BUTTON_size": [
"100% - 2px",
"100% - 2px"
],
// 오버라이드 가능한 변수
"$DYNAMIC_HEADER_background_control": "style.black",
// 오버라이드 가능한 변수
"$DYNAMIC_HEADER_style_control": "server_form.header",
// 오버라이드 가능한 변수
"$DYNAMIC_HEADER_close_button_control": "server_form.close_button",
// 오버라이드 가능한 변수
"$DYNAMIC_HEADER_header_contents_control": "server_form.header_buttons_factory",
// 오버라이드 가능한 변수
"$button_item_control": "starlib_pkg_dynamic_structure.dynamic_item_template",
// 오버라이드 가능한 변수
"$COMMON_BUTTON_hover_control": "server_form.hover",
// 오버라이드 가능한 변수
"$COMMON_BUTTON_panel_control": "starlib_pkg_button_common.disabled_variable_button_panel",
// 오버라이드 가능한 변수
"$COMMON_BUTTON_style_control": "starlib_pkg_button_style.disabled_variable_button_style",
// 오버라이드 가능한 변수
"$BUTTON_STYLE_disabled_variable_key": "§p§3§0",
// 오버라이드 가능한 변수
"$BUTTON_STYLE_default_variable_texture": "textures/example/button",
// 오버라이드 가능한 변수
"$BUTTON_STYLE_disabled_variable_texture": "textures/example/button_disabled",
// 오버라이드 가능한 변수
"$HORIZONTAL_BUTTON_image_background_texture": "textures/example/black",
// 오버라이드 가능한 변수
"$BUTTON_SIZER_left_third": "§p§1§1",
// 오버라이드 가능한 변수
"$BUTTON_SIZER_right_third": "§p§2§1",
// 오버라이드 가능한 변수
"$BUTTON_SIZER_left_half": "§p§1§2",
// 오버라이드 가능한 변수
"$BUTTON_SIZER_right_half": "§p§2§2",
// 오버라이드 가능한 변수
"$VERTICAL_PROCESSING_no_height_key": "§p§0§0",
// 오버라이드 가능한 변수
"$DYNAMIC_ITEM_entry": "starlib_pkg_dynamic_sizer.common_auto_sizer",
// 오버라이드 가능한 변수
"$VERTICAL_PROCESSING_output_control": "starlib_pkg_button_templates.horizontal_button_template",
// 오버라이드 가능한 변수
"$DYNAMIC_ITEM_bindings": [
{
// 목록 이름
"binding_collection_name": "form_buttons",
// 가져올 값 이름
"binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#form_button_text - '§p§4§0') = #form_button_text)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#form_button_text - '§p§4§0') = #form_button_text)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"header_buttons_factory@global.button_factory": {
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%c",
"100%"
],
// 오버라이드 가능한 변수
"$factory_item": "server_form.header_button"
},
// 다른 템플릿을 가져와서 확장(상속)
"header_button@global.binding": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%y + 1px",
"100%"
],
// 오버라이드 가능한 변수
"$key": "§p§4§0",
// 오버라이드 가능한 변수
"$COMMON_BUTTON_style_control": "starlib_pkg_button_style.common_button_style",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button@starlib_pkg_button_templates.hover_button": {
// 오버라이드 가능한 변수
"$HOVER_BUTTON_size": [
"fill",
"100%"
],
// 오버라이드 가능한 변수
"$BUTTON_STYLE_default_texture": "textures/example/header_button",
// 오버라이드 가능한 변수
"$HOVER_BUTTON_hover_control": "server_form.hover",
// 오버라이드 가능한 변수
"$HOVER_BUTTON_image_size": [
13,
13
]
}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
1,
0
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"header@style.image": {
// 사용할 이미지 경로
"texture": "textures/example/header"
},
// 다른 템플릿을 가져와서 확장(상속)
"close_button@starlib_pkg_screen_common.async_close_button": {
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_size": [
"100%y",
"100%"
],
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_icon_size": [
15,
15
],
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_icon_texture": "textures/ui/close_button_default_light",
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_default_control": "server_form.close_button_default",
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_hover_control": "server_form.hover",
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_pressed_control": "server_form.hover"
},
// 다른 템플릿을 가져와서 확장(상속)
"hover@style.image": {
// 사용할 이미지 경로
"texture": "textures/example/hover",
// 가로/세로 크기
"size": [
"100% + 2px",
"100% + 2px"
]
},
// 다른 템플릿을 가져와서 확장(상속)
"close_button_default@style.image": {
// 사용할 이미지 경로
"texture": "textures/example/close_button"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: server_form (4).jsonc
// 분류: StarLib / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
//=======================================
//
// Website & Documentation - https://pipangry.github.io/docs-starlib
//
// StarLibV2 BundleUI example | by pipa_ngry
// Use it only for educational purposes!
// Thanks =)
//
//=======================================
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "server_form",
// 다른 템플릿을 가져와서 확장(상속)
"third_party_server_screen@common.base_screen": {
// 오버라이드 가능한 변수
"$screen_content": "server_form.server_form",
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_exit",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
]
},
// ???/?? ??
"server_form": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"server_form_factory": {
// 리스트를 자동으로 생성하는 공장
"type": "factory",
// 팩토리 템플릿 매핑
"control_ids": {
"long_form": "@server_form.long_form",
"custom_form": "@server_form.custom_form"
}
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"long_form@starlib_pkg_screen_template.screen": {
// 오버라이드 가능한 변수
"$SCREEN_TEMPLATE_fade_enabled": true,
// 오버라이드 가능한 변수
"$SCREEN_TEMPLATE_fade_alpha": 0.5,
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_background_texture": "textures/bundle/background",
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_sub_content_control": "server_form.footer",
// 오버라이드 가능한 변수
"$form_size": [
255,
225
],
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_content_size": [
"100% - 28px",
"100% - 9px"
],
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_content_offset": [
0,
-1
],
// 오버라이드 가능한 변수
"$button_item_control": "server_form.advanced_dynamic_button",
// 오버라이드 가능한 변수
"$HEADER_TEMPLATE_style_control": "server_form.header",
// 오버라이드 가능한 변수
"$HEADER_TEMPLATE_close_button_control": "server_form.close_button",
// 오버라이드 가능한 변수
"$HEADER_TEMPLATE_title_control": "server_form.title",
// 오버라이드 가능한 변수
"$HEADER_TEMPLATE_size": [
"100%",
36
],
// 오버라이드 가능한 변수
"$HEADER_TEMPLATE_contents_size": [
"100% - 20px",
"100% - 8px"
],
// 오버라이드 가능한 변수
"$HEADER_TEMPLATE_contents_offset": [
0,
-2
],
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [
1,
0
]
},
// 다른 템플릿을 가져와서 확장(상속)
"header@style.image": {
// 사용할 이미지 경로
"texture": "textures/bundle/header"
},
// 다른 템플릿을 가져와서 확장(상속)
"footer@style.image": {
// 사용할 이미지 경로
"texture": "textures/bundle/footer",
// 가로/세로 크기
"size": [
"100%",
24
]
},
// 다른 템플릿을 가져와서 확장(상속)
"close_button@starlib_pkg_screen_common.close_button_template": {
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점에서 이동하는 거리
"offset": [
1,
-1
]
},
// 다른 템플릿을 가져와서 확장(상속)
"title@starlib_pkg_screen_common.title_template": {
// ?? ??
"text_alignment": "left"
},
// 다른 템플릿을 가져와서 확장(상속)
"advanced_dynamic_button@starlib_pkg_dynamic_structure.dynamic_item_template": {
// 오버라이드 가능한 변수
"$DYNAMIC_ITEM_entry": "starlib_pkg_dynamic_sizer.common_auto_sizer",
// 오버라이드 가능한 변수
"$VERTICAL_PROCESSING_output_control": "server_form.advanced_button",
// 오버라이드 가능한 변수
"$VERTICAL_PROCESSING_no_height_key": "§m§0§0",
// 오버라이드 가능한 변수
"$VERTICAL_PROCESSING_sizer_template_control": "server_form.vertical_sizer",
// 오버라이드 가능한 변수
"$BUTTON_SIZER_left_third": "§m§1§0",
// 오버라이드 가능한 변수
"$BUTTON_SIZER_right_third": "§m§2§0",
// 오버라이드 가능한 변수
"$BUTTON_SIZER_left_half": "§m§1§1",
// 오버라이드 가능한 변수
"$BUTTON_SIZER_right_half": "§m§2§1"
},
// 다른 템플릿을 가져와서 확장(상속)
"advanced_button@starlib_pkg_button_common.common_button": {
// 오버라이드 가능한 변수
"$COMMON_BUTTON_panel_control": "starlib_pkg_button_common.disabled_variable_button_panel",
// 오버라이드 가능한 변수
"$BUTTON_STYLE_disabled_variable_key": "§m§3§2",
// 오버라이드 가능한 변수
"$COMMON_BUTTON_style_control": "starlib_pkg_button_style.disabled_variable_button_style",
// 오버라이드 가능한 변수
"$COMMON_BUTTON_content_control": "starlib_pkg_dynamic_common.common_dynamic_button_content",
// 오버라이드 가능한 변수
"$DYNAMIC_CONTENT_switch_key": "§m§0§2",
// 오버라이드 가능한 변수
"$DYNAMIC_CONTENT_text_control": "server_form.text_content",
// 오버라이드 가능한 변수
"$COMMON_BUTTON_hover_control": "server_form.hover",
// 오버라이드 가능한 변수
"$COMMON_BUTTON_pressed_control": "server_form.hover",
// 오버라이드 가능한 변수
"$DYNAMIC_CONTENT_image_size": [
"100% - 4px",
"100% - 4px"
],
// 가로/세로 크기
"size": [
"100% - 2px",
"100% - 2px"
],
// 오버라이드 가능한 변수
"$BUTTON_STYLE_disabled_variable_texture": "textures/bundle/button/disabled/default",
// 오버라이드 가능한 변수
"$BUTTON_STYLE_default_variable_controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"default_default@starlib_pkg_button_style.reverse_style_variable": {
// 사용할 이미지 경로
"texture": "textures/bundle/button/default",
// 오버라이드 가능한 변수
"$key": "§m§3§1"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"alt_default@starlib_pkg_button_style.style_variable": {
// 사용할 이미지 경로
"texture": "textures/bundle/button/alt",
// 오버라이드 가능한 변수
"$key": "§m§3§1"
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"hover@style.image": {
// 사용할 이미지 경로
"texture": "textures/bundle/button/hover/default",
// 가로/세로 크기
"size": [
"100% - 2px",
"100% - 2px"
]
},
// 다른 템플릿을 가져와서 확장(상속)
"vertical_sizer@starlib_pkg_dynamic_structure.vertical_sizer_template": {
// 오버라이드 가능한 변수
"$VERTICAL_SIZER_controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"size_default@global.reverse_binding": {
// 오버라이드 가능한 변수
"$key": "§m§0§1",
// 가로/세로 크기
"size": [
0,
30
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"size_custom@global.binding": {
// 오버라이드 가능한 변수
"$key": "§m§0§1",
// 가로/세로 크기
"size": [
"100%",
"100%x"
]
}
}
]
},
// ???/?? ??
"text_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"100%c"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"default@global.reverse_binding": {
// 오버라이드 가능한 변수
"$key": "§m§4§0",
// 가로/세로 크기
"size": [
"100%",
"100%c"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button_text@starlib_pkg_button_common.button_text": {}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"sided@global.binding": {
// 오버라이드 가능한 변수
"$key": "§m§4§0",
// 가로/세로 크기
"size": [
"100% - 8px",
"100%c"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button_text@starlib_pkg_button_common.button_text": {
// ??
"font_type": "MinecraftTen",
// ?? ??
"text_alignment": "left"
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: server_form.jsonc
// 분류: StarLib / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
//=======================================
//
// Website & Documentation - https://pipangry.github.io/docs-starlib
//
// StarLibV2 PeanutUI example | by pipa_ngry
// Use it only for educational purposes!
// Thanks =)
//
//=======================================
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "server_form",
// 다른 템플릿을 가져와서 확장(상속)
"third_party_server_screen@common.base_screen": {
// 오버라이드 가능한 변수
"$screen_content": "server_form.server_form",
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
// 어떤 입력을 받을지
"from_button_id": "button.menu_cancel",
// 어떤 동작을 실행할지
"to_button_id": "button.menu_exit",
// 입력 시점(pressed 등)
"mapping_type": "global"
}
]
},
// ???/?? ??
"server_form": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"server_form_factory": {
// 리스트를 자동으로 생성하는 공장
"type": "factory",
// 팩토리 템플릿 매핑
"control_ids": {
"long_form": "@server_form.long_form",
"custom_form": "@server_form.custom_form"
}
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"long_form@starlib_pkg_screen_template.screen": {
// 오버라이드 가능한 변수
"$SCREEN_TEMPLATE_frame_enabled": true,
// 오버라이드 가능한 변수
"$HEADER_TEMPLATE_style_control": "server_form.header",
// 오버라이드 가능한 변수
"$HEADER_TEMPLATE_contents_offset": [
0,
-1
],
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_background_texture": "textures/example_2/background",
// 오버라이드 가능한 변수
"$button_item_control": "starlib_pkg_button_templates.horizontal_button",
// 오버라이드 가능한 변수
"$HORIZONTAL_BUTTON_image_background_texture": "textures/example_2/image_background",
// 오버라이드 가능한 변수
"$BUTTON_STYLE_default_texture": "textures/example_2/button",
// 오버라이드 가능한 변수
"$COMMON_BUTTON_hover_control": "server_form.hover"
},
// 다른 템플릿을 가져와서 확장(상속)
"header@style.image": {
// 사용할 이미지 경로
"texture": "textures/example_2/header"
},
// 다른 템플릿을 가져와서 확장(상속)
"hover@style.image": {
// 사용할 이미지 경로
"texture": "textures/example_2/border",
// 가로/세로 크기
"size": [
"100% + 2px",
"100% + 2px"
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: _ui_defs.json
// 분류: StarLib / StarLibV2-1.0.3.3
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// ???/?? ??
"ui_defs": [
"ui/starlib2/global.jsonc",
"ui/starlib2/style.jsonc",
"ui/starlib2/package_screen/screen_template.jsonc",
"ui/starlib2/package_screen/screen_common.jsonc",
"ui/starlib2/package_button/common_button.jsonc",
"ui/starlib2/package_button/button_templates.jsonc",
"ui/starlib2/package_button/button_style.jsonc",
"ui/starlib2/package_dynamic/common_dynamic.jsonc",
"ui/starlib2/package_dynamic/dynamic_sizer.jsonc",
"ui/starlib2/package_dynamic/dynamic_structure.jsonc",
"ui/starlib2/package_custom/custom_toggles.jsonc",
"ui/starlib2/package_custom/common_custom.jsonc",
"ui/starlib2/package_custom/custom_edit_box.jsonc",
"ui/starlib2/package_custom/custom_renders.jsonc"
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: button_style.jsonc
// 분류: StarLib / StarLibV2-1.0.3.3
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
//=======================================
//
// Website & Documentation - https://pipangry.github.io/docs-starlib
//
// StarLibV2 by pipa_ngry
// Please respect my work, don't pass at yours and use it for its intended purpose.
// Thanks =)
//
//=======================================
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "starlib_pkg_button_style",
// ???/?? ??
"common_button_style": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 오버라이드 가능한 변수
"$BUTTON_STYLE_default|default": "starlib_pkg_button_style.button_style_template",
// 오버라이드 가능한 변수
"$BUTTON_STYLE_default_texture|default": "textures/ui/Black",
// 이 안에 들어가는 부품 목록
"controls": "$BUTTON_STYLE_variables",
// 오버라이드 가능한 변수
"$BUTTON_STYLE_variables|default": [
{
// 다른 템플릿을 가져와서 확장(상속)
"default_default@$BUTTON_STYLE_default": {
// 사용할 이미지 경로
"texture": "$BUTTON_STYLE_default_texture"
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"button_style_template@style.image": {
// 게임 값과 연결하는 규칙 목록
"bindings": "$bindings",
// 오버라이드 가능한 변수
"$bindings|default": [],
// 겹치는 순서(숫자 클수록 위)
"layer": "$layer",
// 오버라이드 가능한 변수
"$layer|default": 24
},
// 다른 템플릿을 가져와서 확장(상속)
"style_variable@starlib_pkg_button_style.button_style_template": {
// 오버라이드 가능한 변수
"$key|default": "",
// 오버라이드 가능한 변수
"$bindings": [
{
// 목록 이름
"binding_collection_name": "form_buttons",
// 가져올 값 이름
"binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#form_button_text - $key) = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#form_button_text - $key) = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"reverse_style_variable@starlib_pkg_button_style.button_style_template": {
// 오버라이드 가능한 변수
"$key|default": "",
// 오버라이드 가능한 변수
"$bindings": [
{
// 목록 이름
"binding_collection_name": "form_buttons",
// 가져올 값 이름
"binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#form_button_text - $key) = #form_button_text)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#form_button_text - $key) = #form_button_text)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"disabled_variable_button_style@starlib_pkg_button_style.common_button_style": {
// 오버라이드 가능한 변수
"$BUTTON_STYLE_disabled_variable_key|default": "",
// 오버라이드 가능한 변수
"$BUTTON_STYLE_variables": [
{
// ???/?? ??
"default": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 게임 값과 연결하는 규칙 목록
"bindings": "$bindings",
// 오버라이드 가능한 변수
"$bindings": [
{
// 목록 이름
"binding_collection_name": "form_buttons",
// 가져올 값 이름
"binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#form_button_text - $BUTTON_STYLE_disabled_variable_key) = #form_button_text)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#form_button_text - $BUTTON_STYLE_disabled_variable_key) = #form_button_text)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
],
// 이 안에 들어가는 부품 목록
"controls": "$BUTTON_STYLE_default_variable_controls",
// 오버라이드 가능한 변수
"$BUTTON_STYLE_default_variable_controls|default": [
{
// 다른 템플릿을 가져와서 확장(상속)
"default_default@starlib_pkg_button_style.button_style_template": {
// 사용할 이미지 경로
"texture": "$BUTTON_STYLE_default_variable_texture",
// 오버라이드 가능한 변수
"$BUTTON_STYLE_default_variable_texture|default": ""
}
}
]
}
},
{
// ???/?? ??
"disabled": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 게임 값과 연결하는 규칙 목록
"bindings": "$bindings",
// 오버라이드 가능한 변수
"$bindings": [
{
// 목록 이름
"binding_collection_name": "form_buttons",
// 가져올 값 이름
"binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#form_button_text - $BUTTON_STYLE_disabled_variable_key) = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#form_button_text - $BUTTON_STYLE_disabled_variable_key) = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
],
// 이 안에 들어가는 부품 목록
"controls": "$BUTTON_STYLE_disabled_variable_controls",
// 오버라이드 가능한 변수
"$BUTTON_STYLE_disabled_variable_controls|default": [
{
// 다른 템플릿을 가져와서 확장(상속)
"disabled_default@starlib_pkg_button_style.button_style_template": {
// 사용할 이미지 경로
"texture": "$BUTTON_STYLE_disabled_variable_texture",
// 오버라이드 가능한 변수
"$BUTTON_STYLE_disabled_variable_texture|default": ""
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: button_templates.jsonc
// 분류: StarLib / StarLibV2-1.0.3.3
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
//=======================================
//
// Website & Documentation - https://pipangry.github.io/docs-starlib
//
// StarLibV2 by pipa_ngry
// Please respect my work, don't pass at yours and use it for its intended purpose.
// Thanks =)
//
//=======================================
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "starlib_pkg_button_templates",
// ???/?? ??
"common_vertical_stack_item": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [
"100%",
"100%c"
],
// 오버라이드 가능한 변수
"$VERTICAL_ITEM_button_control|default": "style.dme_09",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"top_margin": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$VERTICAL_ITEM_top_margin_size",
// 오버라이드 가능한 변수
"$VERTICAL_ITEM_top_margin_size|default": [
0,
1
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"button@$VERTICAL_ITEM_button_control": {}
},
{
// ???/?? ??
"bottom_margin": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$VERTICAL_ITEM_bottom_margin_size",
// 오버라이드 가능한 변수
"$VERTICAL_ITEM_bottom_margin_size|default": [
0,
1
]
}
}
]
},
// ???/?? ??
"bordered_button_template": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$BORDERED_BUTTON_size",
// 오버라이드 가능한 변수
"$BORDERED_BUTTON_size": [
"100%",
"100%"
],
// 오버라이드 가능한 변수
"$BORDERED_BUTTON_background_control|default": "style.black",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button_background@$BORDERED_BUTTON_background_control": {
// 겹치는 순서(숫자 클수록 위)
"layer": 16
}
},
{
// ???/?? ??
"button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100% - 2px",
"100% - 2px"
],
// 오버라이드 가능한 변수
"$BORDERED_BUTTON_default_control|default": "style.dme_10",
// 이 안에 들어가는 부품 목록
"controls": "$BORDERED_BUTTON_inner",
// 오버라이드 가능한 변수
"$BORDERED_BUTTON_inner|default": [
{
// 다른 템플릿을 가져와서 확장(상속)
"root@$BORDERED_BUTTON_default_control": {
// 가로/세로 크기
"size": [
"100%",
"100%"
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"horizontal_button@starlib_pkg_button_templates.common_vertical_stack_item": {
// 오버라이드 가능한 변수
"$VERTICAL_ITEM_button_control": "starlib_pkg_button_templates.horizontal_button_template"
},
// 다른 템플릿을 가져와서 확장(상속)
"horizontal_button_template@starlib_pkg_button_templates.bordered_button_template": {
// 가로/세로 크기
"size": "$HORIZONTAL_BUTTON_size",
// 오버라이드 가능한 변수
"$HORIZONTAL_BUTTON_size|default": [
"100%",
32
],
// 오버라이드 가능한 변수
"$BORDERED_BUTTON_inner": [
{
// ???/?? ??
"horizontal_button": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"image@starlib_pkg_button_templates.horizontal_button_image": {}
},
{
// ???/?? ??
"root": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"fill",
"100%"
],
// 오버라이드 가능한 변수
"$HORIZONTAL_BUTTON_root_control|default": "starlib_pkg_button_common.common_button",
// 오버라이드 가능한 변수
"$HORIZONTAL_BUTTON_content_control|default": "starlib_pkg_button_common.button_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"root@$HORIZONTAL_BUTTON_root_control": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"content@$HORIZONTAL_BUTTON_content_control": {}
}
]
}
}
]
}
}
]
},
// ???/?? ??
"horizontal_button_image": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": "$HORIZONTAL_BUTTON_image_panel_size",
// 오버라이드 가능한 변수
"$HORIZONTAL_BUTTON_image_panel_size|default": [
"100%y + 1px",
"100%"
],
// 게임 값과 연결하는 규칙 목록
"bindings": "$HORIZONTAL_BUTTON_image_bindings",
// 오버라이드 가능한 변수
"$HORIZONTAL_BUTTON_image_bindings|default": [
{
// 가져올 값 이름
"binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#form_button_texture_file_system",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#texture = '') or (#texture = 'loading')))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"imame_root": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"fill",
"100%"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"image@starlib_pkg_button_common.button_image": {
// 가로/세로 크기
"size": [
"100%",
"100%"
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"image_background@style.image": {
// 사용할 이미지 경로
"texture": "$HORIZONTAL_BUTTON_image_background_texture",
// 오버라이드 가능한 변수
"$HORIZONTAL_BUTTON_image_background_texture|default": "",
// 겹치는 순서(숫자 클수록 위)
"layer": 30
}
}
]
}
},
{
// ???/?? ??
"margin": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$HORIZONTAL_BUTTON_image_margin_size",
// 오버라이드 가능한 변수
"$HORIZONTAL_BUTTON_image_margin_size|default": [
1,
0
]
}
}
]
},
// ???/?? ??
"cubic_button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$CUBIC_BUTTON_size",
// 오버라이드 가능한 변수
"$CUBIC_BUTTON_size|default": [
"100%",
"100%x"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"root@starlib_pkg_button_common.common_button": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"content@common_cubic_button_content": {}
}
]
},
// ???/?? ??
"common_cubic_button_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": "$CUBIC_BUTTON_content_size",
// 오버라이드 가능한 변수
"$CUBIC_BUTTON_content_size|default": [
"100%",
"100%"
],
// 기준점에서 이동하는 거리
"offset": "$CUBIC_BUTTON_content_offset",
// 오버라이드 가능한 변수
"$CUBIC_BUTTON_content_offset|default": [
0,
0
],
// ???/?? ??
"max_size": [
"100%",
"100%"
],
// 오버라이드 가능한 변수
"$CUBIC_BUTTON_text_control|default": "starlib_pkg_button_common.button_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"image_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"fill"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button_image@starlib_pkg_button_common.button_image": {
// 가로/세로 크기
"size": "$CUBIC_BUTTON_image_size",
// 오버라이드 가능한 변수
"$CUBIC_BUTTON_image_size|default": [
"100%",
"100%"
],
// 게임 값과 연결하는 규칙 목록
"bindings": "$CUBIC_BUTTON_image_bindings",
// 오버라이드 가능한 변수
"$CUBIC_BUTTON_image_bindings|default": "$BUTTON_IMAGE_bindings"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"button_text@$CUBIC_BUTTON_text_control": {}
},
{
// ???/?? ??
"bottom_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$CUBIC_BUTTON_bottom_padding_size",
// 오버라이드 가능한 변수
"$CUBIC_BUTTON_bottom_padding_size|default": [
0,
2
]
}
}
]
},
// ???/?? ??
"big_button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$BIG_BUTTON_size",
// 오버라이드 가능한 변수
"$BIG_BUTTON_size|default": [
"100%",
"100%x"
],
// 오버라이드 가능한 변수
"$BIG_BUTTON_content_control|default": "starlib_pkg_button_templates.common_big_button_content",
// 오버라이드 가능한 변수
"$BIG_BUTTON_image_overlap_control|default": "global.empty_panel",
// 오버라이드 가능한 변수
"$BIG_BUTTON_image_size|default": [
"100% - 4px",
"100% - 4px"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"root@starlib_pkg_button_common.common_button": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"image@starlib_pkg_button_common.button_image": {
// 가로/세로 크기
"size": "$BIG_BUTTON_image_size",
// 겹치는 순서(숫자 클수록 위)
"layer": 32,
// 게임 값과 연결하는 규칙 목록
"bindings": "$BIG_BUTTON_image_bindings",
// 오버라이드 가능한 변수
"$BIG_BUTTON_image_bindings|default": [
{
// 가져올 값 이름
"binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#form_button_texture_file_system",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#texture = '') or (#texture = 'loading')))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
"fill": "$BIG_BUTTON_enable_image_fill",
// 오버라이드 가능한 변수
"$BIG_BUTTON_enable_image_fill|default": false
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"image_overlap@$BIG_BUTTON_image_overlap_control": {
// 겹치는 순서(숫자 클수록 위)
"layer": 38,
// 가로/세로 크기
"size": "$BIG_BUTTON_overlap_size",
// 오버라이드 가능한 변수
"$BIG_BUTTON_overlap_size|default": "$BIG_BUTTON_image_size"
}
},
{
// ???/?? ??
"content_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$BIG_BUTTON_content_size",
// 오버라이드 가능한 변수
"$BIG_BUTTON_content_size|default": [
"100% - 4px",
"100% - 4px"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content@$BIG_BUTTON_content_control": {
// 겹치는 순서(숫자 클수록 위)
"layer": 42,
// ???/?? ??
"max_size": [
"100%",
"100%"
]
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"common_big_button_content@starlib_pkg_button_common.button_text": {
// 오버라이드 가능한 변수
"$BIG_BUTTON_CONTENT_text_alignment|default": "left",
// 오버라이드 가능한 변수
"$BIG_BUTTON_CONTENT_font_type|default": "MinecraftTen",
// 오버라이드 가능한 변수
"$BIG_BUTTON_CONTENT_font_scale_factor|default": 1.2,
// ?? ??
"text_alignment": "$BIG_BUTTON_CONTENT_text_alignment",
// ??
"font_type": "$BIG_BUTTON_CONTENT_font_type",
// ?? ?? ??
"font_scale_factor": "$BIG_BUTTON_CONTENT_font_scale_factor",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle"
},
// ???/?? ??
"grid_item_template": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$GRID_ITEM_size",
// 오버라이드 가능한 변수
"$GRID_ITEM_size|default": [
"100%",
"100%x"
],
// 오버라이드 가능한 변수
"$GRID_ITEM_root_control|default": "style.dme_11",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"root@$GRID_ITEM_root_control": {
// 가로/세로 크기
"size": "$GRID_ITEM_root_size",
// 오버라이드 가능한 변수
"$GRID_ITEM_root_size|default": [
"100% - 2px",
"100% - 2px"
],
// 게임 값과 연결하는 규칙 목록
"bindings": "$GRID_ITEM_BINDINGS",
// 오버라이드 가능한 변수
"$GRID_ITEM_BINDINGS|default": []
}
}
]
},
// ???/?? ??
"hover_button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$HOVER_BUTTON_size",
// 오버라이드 가능한 변수
"$HOVER_BUTTON_size|default": [
"100%",
"100%x"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content@starlib_pkg_button_common.button_image": {
// 가로/세로 크기
"size": "$HOVER_BUTTON_image_size",
// 오버라이드 가능한 변수
"$HOVER_BUTTON_image_size|default": [
"100% - 8px",
"100% - 8px"
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"root@starlib_pkg_button_common.common_button": {
// 오버라이드 가능한 변수
"$COMMON_BUTTON_hover_control": "starlib_pkg_button_templates.hover_button_hover_root"
}
}
]
},
// ???/?? ??
"hover_button_hover_root": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 오버라이드 가능한 변수
"$HOVER_BUTTON_hover_control|default": "style.hightlight",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"root@$HOVER_BUTTON_hover_control": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hover_text@starlib_pkg_button_common.hover_text": {}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: common_button.jsonc
// 분류: StarLib / StarLibV2-1.0.3.3
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
//=======================================
//
// Website & Documentation - https://pipangry.github.io/docs-starlib
//
// StarLibV2 by pipa_ngry
// Please respect my work, don't pass at yours and use it for its intended purpose.
// Thanks =)
//
//=======================================
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "starlib_pkg_button_common",
// 다른 템플릿을 가져와서 확장(상속)
"common_button_panel@common.button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 오버라이드 가능한 변수
"$default_state": false,
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// ??? ??
"sound_name": "$COMMON_BUTTON_sound_name",
// 오버라이드 가능한 변수
"$COMMON_BUTTON_sound_name|default": "random.click",
// 오버라이드 가능한 변수
"$COMMON_BUTTON_hover_control|default": "style.hightlight",
// 오버라이드 가능한 변수
"$COMMON_BUTTON_pressed_control|default": "$COMMON_BUTTON_hover_control",
// 게임 값과 연결하는 규칙 목록
"bindings": "$COMMON_BUTTON_bindings",
// 오버라이드 가능한 변수
"$COMMON_BUTTON_bindings|default": [
{
// 목록 이름
"binding_collection_name": "form_buttons",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"hover@$COMMON_BUTTON_hover_control": {
// 겹치는 순서(숫자 클수록 위)
"layer": 225
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pressed@$COMMON_BUTTON_pressed_control": {
// 겹치는 순서(숫자 클수록 위)
"layer": 225
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"sensible_button_panel@common.button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// ??? ??
"sound_name": "$SENSIBLE_BUTTON_sound_name",
// 오버라이드 가능한 변수
"$SENSIBLE_BUTTON_sound_name|default": "random.click",
// 오버라이드 가능한 변수
"$SENSIBLE_BUTTON_default_control|default": "global.empty_panel",
// 오버라이드 가능한 변수
"$SENSIBLE_BUTTON_hover_control|default": "global.empty_panel",
// 오버라이드 가능한 변수
"$SENSIBLE_BUTTON_pressed_control|default": "$SENSIBLE_BUTTON_hover_control",
// 게임 값과 연결하는 규칙 목록
"bindings": "$SENSIBLE_BUTTON_bindings",
// 오버라이드 가능한 변수
"$SENSIBLE_BUTTON_bindings|default": [
{
// 목록 이름
"binding_collection_name": "form_buttons",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"default@$SENSIBLE_BUTTON_default_control": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hover@$SENSIBLE_BUTTON_hover_control": {
// 가로/세로 크기
"size": "$SENSIBLE_BUTTON_hover_size",
// 오버라이드 가능한 변수
"$SENSIBLE_BUTTON_hover_size|default": [
"100% + 2px",
"100% + 2px"
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pressed@$SENSIBLE_BUTTON_pressed_control": {}
}
]
},
// ???/?? ??
"common_button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 오버라이드 가능한 변수
"$COMMON_BUTTON_panel_control|default": "starlib_pkg_button_common.common_button_panel",
// 오버라이드 가능한 변수
"$COMMON_BUTTON_style_control|default": "starlib_pkg_button_style.common_button_style",
// 오버라이드 가능한 변수
"$COMMON_BUTTON_content_control|default": "global.empty_panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"common_button_panel@$COMMON_BUTTON_panel_control": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"common_button_style@$COMMON_BUTTON_style_control": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"common_button_content@$COMMON_BUTTON_content_control": {
// ???/?? ??
"max_size": [
"100%",
"100%"
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"disabled_variable_button_panel@starlib_pkg_button_common.common_button_panel": {
// 오버라이드 가능한 변수
"$BUTTON_STYLE_disabled_variable_key|default": "",
// 오버라이드 가능한 변수
"$COMMON_BUTTON_bindings": [
{
// 목록 이름
"binding_collection_name": "form_buttons",
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details"
},
{
// 목록 이름
"binding_collection_name": "form_buttons",
// 가져올 값 이름
"binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#form_button_text - $BUTTON_STYLE_disabled_variable_key) = #form_button_text)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#form_button_text - $BUTTON_STYLE_disabled_variable_key) = #form_button_text)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"button_image@style.image": {
// 겹치는 순서(숫자 클수록 위)
"layer": 235,
// 게임 값과 연결하는 규칙 목록
"bindings": "$BUTTON_IMAGE_bindings",
// 오버라이드 가능한 변수
"$BUTTON_IMAGE_bindings|default": [
{
// 가져올 값 이름
"binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#form_button_texture_file_system",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#texture = '') or (#texture = 'loading')))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"button_text@style.label": {
// 보여줄 글자
"text": "#form_button_text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "form_buttons",
// 가져올 값 이름
"binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not(#form_button_text = ''))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 오버라이드 가능한 변수
"$label_layer": 245
},
// 다른 템플릿을 가져와서 확장(상속)
"range_selection_button_text@style.label": {
// 보여줄 글자
"text": "#text",
// 오버라이드 가능한 변수
"$from|default": "",
// 오버라이드 가능한 변수
"$to|default": "",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "form_buttons",
// 가져올 값 이름
"binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(((('%.' + $to + 's') * #form_button_text) - (('%.' + $from + 's') * #form_button_text)) - '\t')",
// 결과가 들어갈 속성
"target_property_name": "#text"
},
{
// 계산식/참조 값
"source_property_name": "(not(#text = ''))",
// 계산/조건 결과를 연결
"binding_type": "view",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 오버라이드 가능한 변수
"$label_layer": 245
},
// 다른 템플릿을 가져와서 확장(상속)
"reverse_conditions_range_selection_button_text@style.label": {
// 보여줄 글자
"text": "#text",
// 오버라이드 가능한 변수
"$from|default": "",
// 오버라이드 가능한 변수
"$to|default": "",
// 오버라이드 가능한 변수
"$key|default": "",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "form_buttons",
// 가져올 값 이름
"binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(((('%.' + $to + 's') * #form_button_text) - (('%.' + $from + 's') * #form_button_text)) - '\t')",
// 결과가 들어갈 속성
"target_property_name": "#text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not(#text = '')) and ((#form_button_text - $key) = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not(#text = '')) and ((#form_button_text - $key) = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
],
// 오버라이드 가능한 변수
"$label_layer": 245
},
// 다른 템플릿을 가져와서 확장(상속)
"conditions_range_selection_button_text@style.label": {
// 보여줄 글자
"text": "#text",
// 오버라이드 가능한 변수
"$from|default": "",
// 오버라이드 가능한 변수
"$to|default": "",
// 오버라이드 가능한 변수
"$key|default": "",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "form_buttons",
// 가져올 값 이름
"binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(((('%.' + $to + 's') * #form_button_text) - (('%.' + $from + 's') * #form_button_text)) - '\t')",
// 결과가 들어갈 속성
"target_property_name": "#text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not(#text = '')) and (not((#form_button_text - $key) = #form_button_text)))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((not(#text = '')) and (not((#form_button_text - $key) = #form_button_text)))",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
],
// 오버라이드 가능한 변수
"$label_layer": 245
},
// 다른 템플릿을 가져와서 확장(상속)
"hover_text@common.hover_text": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "form_buttons",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#hover_text",
// 가져올 값 이름
"binding_name": "#form_button_text"
}
],
// 겹치는 순서(숫자 클수록 위)
"layer": 255
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: common_custom.jsonc
// 분류: StarLib / StarLibV2-1.0.3.3
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
//=======================================
//
// Website & Documentation - https://pipangry.github.io/docs-starlib
//
// StarLibV2 by pipa_ngry
// Please respect my work, don't pass at yours and use it for its intended purpose.
// Thanks =)
//
//=======================================
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "starlib_pkg_custom_common",
//search_conditions_element_binding using Theorist's search bar template.
"search_conditions_element_binding": {
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#default_search": "default_search"
},
// 오버라이드 가능한 변수
"$search_binding_name|default": "search_field",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$search_binding_name",
// 계산식/참조 값
"source_property_name": "#item_name",
// 결과가 들어갈 속성
"target_property_name": "#search"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#default_search",
// 결과가 들어갈 속성
"target_property_name": "#search",
// ?? ???
"binding_condition": "once"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#search = '')",
// 결과가 들어갈 속성
"target_property_name": "#is_not_empty"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#form_button_text - #search) = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#is_being_searched"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_not_empty or #is_being_searched)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"text_range_search_conditions_element_binding": {
// 오버라이드 가능한 변수
"$from|default": "",
// 오버라이드 가능한 변수
"$to|default": "",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#default_search": "default_search"
},
// 오버라이드 가능한 변수
"$search_binding_name|default": "search_field",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(((('%.' + $to + 's') * #form_button_text) - (('%.' + $from + 's') * #form_button_text)) - '\t')",
// 결과가 들어갈 속성
"target_property_name": "#text"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$search_binding_name",
// 계산식/참조 값
"source_property_name": "#item_name",
// 결과가 들어갈 속성
"target_property_name": "#search"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#default_search",
// 결과가 들어갈 속성
"target_property_name": "#search",
// ?? ???
"binding_condition": "once"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#search = '')",
// 결과가 들어갈 속성
"target_property_name": "#is_not_empty"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#text - #search) = #text))",
// 결과가 들어갈 속성
"target_property_name": "#is_being_searched"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#is_not_empty or #is_being_searched)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: common_dynamic.jsonc
// 분류: StarLib / StarLibV2-1.0.3.3
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
//=======================================
//
// Website & Documentation - https://pipangry.github.io/docs-starlib
//
// StarLibV2 by pipa_ngry
// Please respect my work, don't pass at yours and use it for its intended purpose.
// Thanks =)
//
//=======================================
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "starlib_pkg_dynamic_common",
// ???/?? ??
"common_dynamic_header": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$DYNAMIC_HEADER_size",
// 오버라이드 가능한 변수
"$DYNAMIC_HEADER_size|default": [
"100%",
24
],
// 오버라이드 가능한 변수
"$DYNAMIC_HEADER_background_control|default": "style.black",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"root": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": "$DYNAMIC_HEADER_root_size",
// 오버라이드 가능한 변수
"$DYNAMIC_HEADER_root_size|default": [
"100% - 2px",
"100% - 2px"
],
// 오버라이드 가능한 변수
"$DYNAMIC_HEADER_header_contents_control|default": "global.empty_panel",
// 오버라이드 가능한 변수
"$DYNAMIC_HEADER_right_header_contents_control|default": "global.empty_panel",
// 오버라이드 가능한 변수
"$DYNAMIC_HEADER_style_control|default": "style.black_alpha",
// 오버라이드 가능한 변수
"$DYNAMIC_HEADER_close_button_control|default": "starlib_pkg_dynamic_common.common_dynamic_header_close_button",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"header_contents@$DYNAMIC_HEADER_header_contents_control": {}
},
{
// ???/?? ??
"titleline": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"fill",
"100%"
],
// 오버라이드 가능한 변수
"$DYNAMIC_HEADER_title_control|default": "starlib_pkg_screen_common.title_template",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"header_style@$DYNAMIC_HEADER_style_control": {
// 겹치는 순서(숫자 클수록 위)
"layer": 16
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"title@$DYNAMIC_HEADER_title_control": {}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"right_header_contents@$DYNAMIC_HEADER_right_header_contents_control": {}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
1,
0
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button@$DYNAMIC_HEADER_close_button_control": {}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background@$DYNAMIC_HEADER_background_control": {
// 겹치는 순서(숫자 클수록 위)
"layer": 12
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"common_dynamic_header_close_button@starlib_pkg_screen_common.close_button_template": {
// 가로/세로 크기
"size": [
"100%y",
"100%"
]
},
// ???/?? ??
"common_dynamic_button_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 오버라이드 가능한 변수
"$DYNAMIC_CONTENT_image_control|default": "starlib_pkg_button_common.button_image",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"auto_padding_top@global.reverse_binding": {
// 오버라이드 가능한 변수
"$key": "$DYNAMIC_CONTENT_switch_key",
// 가로/세로 크기
"size": [
"fill",
"fill"
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"image_panel@global.binding": {
// 오버라이드 가능한 변수
"$key": "$DYNAMIC_CONTENT_switch_key",
// 가로/세로 크기
"size": [
"100%",
"fill"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"image_panel@$DYNAMIC_CONTENT_image_control": {
// 가로/세로 크기
"size": "$DYNAMIC_CONTENT_image_size",
// 오버라이드 가능한 변수
"$DYNAMIC_CONTENT_image_size|default": [
"100%",
"100%"
]
}
}
]
}
},
{
// ???/?? ??
"text_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [
"100%",
"100%c"
],
// 오버라이드 가능한 변수
"$DYNAMIC_CONTENT_text_control|default": "starlib_pkg_button_common.button_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"text_content@$DYNAMIC_CONTENT_text_control": {}
},
{
// ???/?? ??
"soft_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$DYNAMIC_CONTENT_soft_padding_size",
// 오버라이드 가능한 변수
"$DYNAMIC_CONTENT_soft_padding_size|default": [
0,
2
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"auto_padding_bottom@global.reverse_binding": {
// 오버라이드 가능한 변수
"$key": "$DYNAMIC_CONTENT_switch_key",
// 가로/세로 크기
"size": [
"fill",
"fill"
]
}
}
]
},
// ???/?? ??
"image_conditions_dynamic_button_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 오버라이드 가능한 변수
"$DYNAMIC_CONTENT_image_control|default": "starlib_pkg_button_common.button_image",
// 오버라이드 가능한 변수
"$DYNAMIC_CONTENT_condition_bindings|default": [
{
// 가져올 값 이름
"binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#form_button_texture_file_system",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not(#texture = ''))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 오버라이드 가능한 변수
"$DYNAMIC_CONTENT_reverse_condition_bindings|default": [
{
// 가져올 값 이름
"binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#form_button_texture_file_system",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#texture = '')",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"auto_padding_top": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"fill",
"fill"
],
// 게임 값과 연결하는 규칙 목록
"bindings": "$DYNAMIC_CONTENT_reverse_condition_bindings"
}
},
{
// ???/?? ??
"image_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"fill"
],
// 게임 값과 연결하는 규칙 목록
"bindings": "$DYNAMIC_CONTENT_condition_bindings",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"image_panel@$DYNAMIC_CONTENT_image_control": {
// 가로/세로 크기
"size": "$DYNAMIC_CONTENT_image_size",
// 오버라이드 가능한 변수
"$DYNAMIC_CONTENT_image_size|default": [
"100%",
"100%"
]
}
}
]
}
},
{
// ???/?? ??
"text_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [
"100%",
"100%c"
],
// 오버라이드 가능한 변수
"$DYNAMIC_CONTENT_text_control|default": "starlib_pkg_button_common.button_text",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"text_content@$DYNAMIC_CONTENT_text_control": {}
},
{
// ???/?? ??
"soft_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$DYNAMIC_CONTENT_soft_padding_size",
// 오버라이드 가능한 변수
"$DYNAMIC_CONTENT_soft_padding_size|default": [
0,
2
]
}
}
]
}
},
{
// ???/?? ??
"auto_padding_bottom": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"fill",
"fill"
],
// 게임 값과 연결하는 규칙 목록
"bindings": "$DYNAMIC_CONTENT_reverse_condition_bindings"
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: custom_edit_box.jsonc
// 분류: StarLib / StarLibV2-1.0.3.3
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
//=======================================
//
// Website & Documentation - https://pipangry.github.io/docs-starlib
//
// StarLibV2 by pipa_ngry
// Please respect my work, don't pass at yours and use it for its intended purpose.
// Thanks =)
//
//=======================================
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "starlib_pkg_custom_edit_box",
// 다른 템플릿을 가져와서 확장(상속)
"common_search_box@common.text_edit_box": {
// 가로/세로 크기
"size": "$COMMON_SEARCH_BOX_size",
// 오버라이드 가능한 변수
"$COMMON_SEARCH_BOX_size|default": [
"100%",
32
],
// 오버라이드 가능한 변수
"$COMMON_SEARCH_BOX_place_holder_text|default": "Search",
// 오버라이드 가능한 변수
"$COMMON_SEARCH_BOX_name|default": "search_field",
// 오버라이드 가능한 변수
"$text_box_name": "$COMMON_SEARCH_BOX_name",
// 오버라이드 가능한 변수
"$text_edit_text_control": "$COMMON_SEARCH_BOX_name",
// 오버라이드 가능한 변수
"$place_holder_text": "$COMMON_SEARCH_BOX_place_holder_text",
// 오버라이드 가능한 변수
"$COMMON_SEARCH_BOX_clear_button_enabled|default": false,
// 오버라이드 가능한 변수
"$text_edit_box_clear_to_button_id": "$COMMON_SEARCH_BOX_clear_button_control",
// 오버라이드 가능한 변수
"$COMMON_SEARCH_BOX_clear_button_control|default": "button.search_bar_clear"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: custom_renders.jsonc
// 분류: StarLib / StarLibV2-1.0.3.3
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
//=======================================
//
// Website & Documentation - https://pipangry.github.io/docs-starlib
//
// StarLibV2 by pipa_ngry
// Please respect my work, don't pass at yours and use it for its intended purpose.
// Thanks =)
//
//=======================================
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "starlib_pkg_custom_renders",
// ???/?? ??
"paperdoll_template": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "paper_doll_renderer",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 오버라이드 가능한 변수
"$PAPERDOLL_size|default": [
"100%",
"100%"
],
// 기준점에서 이동하는 거리
"offset": "$PAPERDOLL_offset",
// 오버라이드 가능한 변수
"$PAPERDOLL_offset|default": [
0,
0
],
"use_selected_skin": "$PAPERDOLL_use_selected_skin",
// 오버라이드 가능한 변수
"$PAPERDOLL_use_selected_skin|default": true,
"use_uuid": "$PAPERDOLL_use_uuid",
// 오버라이드 가능한 변수
"$PAPERDOLL_use_uuid|default": false,
"animation_reset_name": "screen_animation_reset",
// 애니메이션 목록
"anims": [
"@common.screen_exit_size_animation_push",
"@common.screen_exit_size_animation_pop",
"@common.screen_entrance_size_animation_push",
"@common.screen_entrance_size_animation_pop"
],
"rotation": "gesture_x",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_appearance_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// ?? ???
"binding_condition": "always"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "#form_text",
// 결과가 들어갈 속성
"target_property_name": "#player_uuid"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "viewer_panel",
// 계산식/참조 값
"source_property_name": "#gesture_delta_source",
// 결과가 들어갈 속성
"target_property_name": "#gesture_delta_source"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "viewer_panel",
// 계산식/참조 값
"source_property_name": "#gesture_mouse_delta_x",
// 결과가 들어갈 속성
"target_property_name": "#gesture_mouse_delta_x"
}
],
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
// ???/?? ??
"doll_rotation_area": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 오버라이드 가능한 변수
"$ROTATION_AREA_size|default": [
"100%",
"100%"
],
"gesture_tracking_button": "button.turn_doll",
"always_handle_controller_direction": true,
"tts_ignore_count": true,
// 입력 키/버튼과 동작 연결
"button_mappings": [
{
"button_up_right_of_first_refusal": true,
// 입력 시점(pressed 등)
"mapping_type": "pressed",
// 어떤 입력을 받을지
"from_button_id": "button.menu_select",
// 어떤 동작을 실행할지
"to_button_id": "button.turn_doll"
}
],
// 오버라이드 가능한 변수
"$ROTATION_AREA_root_control|default": "global.empty_panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"root@$ROTATION_AREA_root_control": {}
}
],
// 겹치는 순서(숫자 클수록 위)
"layer": 245
},
// ???/?? ??
"common_paperdoll": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$COMMON_PAPERDOLL_size",
// 오버라이드 가능한 변수
"$COMMON_PAPERDOLL_size|default": [
"100%",
"100%"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"root@starlib_pkg_custom_renders.doll_rotation_area": {
// 오버라이드 가능한 변수
"$ROTATION_AREA_root_control": "starlib_pkg_custom_renders.paperdoll_template",
// 오버라이드 가능한 변수
"$ROTATION_AREA_size|default": [
"100% - 8px",
"100% - 8px"
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background@style.image": {
// 사용할 이미지 경로
"texture": "$COMMON_PAPERDOLL_background_texture",
// 오버라이드 가능한 변수
"$COMMON_PAPERDOLL_background_texture|default": "",
// 겹치는 순서(숫자 클수록 위)
"layer": 235
}
}
]
},
// ???/?? ??
"live_render_template": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "player_live_render",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 오버라이드 가능한 변수
"$LIVE_RENDER_size|default": [
"100%",
"100%"
],
// 기준점에서 이동하는 거리
"offset": "$LIVE_RENDER_offset",
// 오버라이드 가능한 변수
"$LIVE_RENDER_offset|default": [
0,
0
],
"animation_reset_name": "screen_animation_reset",
// 애니메이션 목록
"anims": [
"@common.screen_exit_size_animation_push",
"@common.screen_exit_size_animation_pop",
"@common.screen_entrance_size_animation_push",
"@common.screen_entrance_size_animation_pop"
],
// 겹치는 순서(숫자 클수록 위)
"layer": 245
},
// ???/?? ??
"common_live_render": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$COMMON_LIVERENDER_size",
// 오버라이드 가능한 변수
"$COMMON_LIVERENDER_size|default": [
"100%",
"100%"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"root@starlib_pkg_custom_renders.live_render_template": {
// 오버라이드 가능한 변수
"$LIVE_RENDER_size|default": [
"100% - 8px",
"100% - 8px"
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background@style.image": {
// 사용할 이미지 경로
"texture": "$COMMON_LIVERENDER_background_texture",
// 오버라이드 가능한 변수
"$COMMON_LIVERENDER_background_texture|default": "",
// 겹치는 순서(숫자 클수록 위)
"layer": 235
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: custom_toggles.jsonc
// 분류: StarLib / StarLibV2-1.0.3.3
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
//=======================================
//
// Website & Documentation - https://pipangry.github.io/docs-starlib
//
// StarLibV2 by pipa_ngry
// Please respect my work, don't pass at yours and use it for its intended purpose.
// Thanks =)
//
//=======================================
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "starlib_pkg_custom_toggles",
// ???/?? ??
"common_toggle": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$COMMON_TOGGLE_size",
// 오버라이드 가능한 변수
"$COMMON_TOGGLE_size|default": [
"100%",
24
],
// 오버라이드 가능한 변수
"$COMMON_TOGGLE_toggle_text|default": "",
// 오버라이드 가능한 변수
"$COMMON_TOGGLE_enable_radio|default": true,
// 오버라이드 가능한 변수
"$COMMON_TOGGLE_toggle_name|default": "common_toggle",
// 오버라이드 가능한 변수
"$COMMON_TOGGLE_toggle_index|default": 0,
// 오버라이드 가능한 변수
"$COMMON_TOGGLE_default_state|default": 1,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"toggle_panel@common_toggles.light_text_toggle": {
// 오버라이드 가능한 변수
"$default_border_visible": false,
// 오버라이드 가능한 변수
"$hover_border_visible": false,
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 오버라이드 가능한 변수
"$toggle_name": "common_toggle",
// 오버라이드 가능한 변수
"$button_text": "$COMMON_TOGGLE_toggle_text",
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "$COMMON_TOGGLE_toggle_name",
// 오버라이드 가능한 변수
"$radio_toggle_group": "$COMMON_TOGGLE_enable_radio",
// 오버라이드 가능한 변수
"$toggle_group_default_selected": "$COMMON_TOGGLE_default_state",
// 오버라이드 가능한 변수
"$toggle_group_forced_index": "$COMMON_TOGGLE_toggle_index"
}
}
]
},
// ???/?? ??
"tab_view_binding": {
// 오버라이드 가능한 변수
"$toggle_name|default": "common_toggle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "$toggle_name",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: dynamic_sizer.jsonc
// 분류: StarLib / StarLibV2-1.0.3.3
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
//=======================================
//
// Website & Documentation - https://pipangry.github.io/docs-starlib
//
// StarLibV2 by pipa_ngry
// Please respect my work, don't pass at yours and use it for its intended purpose.
// Thanks =)
//
//=======================================
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "starlib_pkg_dynamic_sizer",
// ???/?? ??
"third_sizer_template": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%",
"100%cm"
],
// 오버라이드 가능한 변수
"$BUTTON_SIZER_third_output|default": "style.dme_06",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"left_padding@global.binding": {
// 오버라이드 가능한 변수
"$BUTTON_SIZER_left_third|default": "",
// 오버라이드 가능한 변수
"$key": "$BUTTON_SIZER_left_third",
// 가로/세로 크기
"size": [
"33.3%",
0
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"output@$BUTTON_SIZER_third_output": {
// 가로/세로 크기
"size": [
"fill",
"100%c"
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"right_padding@global.binding": {
// 오버라이드 가능한 변수
"$BUTTON_SIZER_right_third|default": "",
// 오버라이드 가능한 변수
"$key": "$BUTTON_SIZER_right_third",
// 가로/세로 크기
"size": [
"33.3%",
0
]
}
}
]
},
// ???/?? ??
"half_sizer_template": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%",
"100%cm"
],
// 오버라이드 가능한 변수
"$BUTTON_SIZER_half_output|default": "style.dme_07",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"left_padding@global.binding": {
// 오버라이드 가능한 변수
"$BUTTON_SIZER_left_half|default": "",
// 오버라이드 가능한 변수
"$key": "$BUTTON_SIZER_left_half",
// 가로/세로 크기
"size": [
"50%",
0
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"output@$BUTTON_SIZER_half_output": {
// 가로/세로 크기
"size": [
"fill",
"100%c"
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"right_padding@global.binding": {
// 오버라이드 가능한 변수
"$BUTTON_SIZER_right_half|default": "",
// 오버라이드 가능한 변수
"$key": "$BUTTON_SIZER_right_half",
// 가로/세로 크기
"size": [
"50%",
0
]
}
}
]
},
// ???/?? ??
"custom_sizer_template": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": "$BUTTON_SIZER_custom_panel_size",
// 오버라이드 가능한 변수
"$BUTTON_SIZER_custom_panel_size|default": [
"100%",
"100%cm"
],
// 오버라이드 가능한 변수
"$BUTTON_SIZER_custom_output|default": "style.dme_08",
// 오버라이드 가능한 변수
"$BUTTON_SIZER_custom_size|default": [
0,
0
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"left_padding@global.binding": {
// 오버라이드 가능한 변수
"$BUTTON_SIZER_left_custom|default": "",
// 오버라이드 가능한 변수
"$key": "$BUTTON_SIZER_left_custom",
// 가로/세로 크기
"size": "$BUTTON_SIZER_custom_size"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"output@$BUTTON_SIZER_custom_output": {
// 가로/세로 크기
"size": "$BUTTON_SIZER_custom_output_size",
// 오버라이드 가능한 변수
"$BUTTON_SIZER_custom_output_size|default": [
"fill",
"100%c"
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"right_padding@global.binding": {
// 오버라이드 가능한 변수
"$BUTTON_SIZER_right_custom|default": "",
// 오버라이드 가능한 변수
"$key": "$BUTTON_SIZER_right_custom",
// 가로/세로 크기
"size": "$BUTTON_SIZER_custom_size"
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"common_auto_sizer@starlib_pkg_dynamic_sizer.third_sizer_template": {
// 오버라이드 가능한 변수
"$BUTTON_SIZER_third_output": "starlib_pkg_dynamic_sizer.half_sizer_template",
// 오버라이드 가능한 변수
"$BUTTON_SIZER_half_output": "starlib_pkg_dynamic_structure.vertical_processing_panel"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: dynamic_structure.jsonc
// 분류: StarLib / StarLibV2-1.0.3.3
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
//=======================================
//
// Website & Documentation - https://pipangry.github.io/docs-starlib
//
// StarLibV2 by pipa_ngry
// Please respect my work, don't pass at yours and use it for its intended purpose.
// Thanks =)
//
//=======================================
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "starlib_pkg_dynamic_structure",
// ???/?? ??
"dynamic_item_with_background": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [
"100%",
"100%c"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"top_padding@style.image": {
// 오버라이드 가능한 변수
"$DYNAMIC_ITEM_top_padding_key|default": "",
// 가로/세로 크기
"size": "$DYNAMIC_ITEM_top_padding_size",
// 오버라이드 가능한 변수
"$DYNAMIC_ITEM_top_padding_size|default": [
"100%",
3
],
// 사용할 이미지 경로
"texture": "$DYNAMIC_ITEM_top_padding_texture",
// 오버라이드 가능한 변수
"$DYNAMIC_ITEM_top_padding_texture|default": "",
// 게임 값과 연결하는 규칙 목록
"bindings": "$DYNAMIC_ITEM_top_padding_bindings",
// 오버라이드 가능한 변수
"$DYNAMIC_ITEM_top_padding_bindings|default": [
{
// 목록 이름
"binding_collection_name": "form_buttons",
// 가져올 값 이름
"binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#form_button_text - $DYNAMIC_ITEM_top_padding_key) = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#form_button_text - $DYNAMIC_ITEM_top_padding_key) = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
}
},
{
// ???/?? ??
"dynamic_item_main": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"100%cm"
],
// 오버라이드 가능한 변수
"$DYNAMIC_ITEM_root_control|default": "style.dme_02",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"root": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%",
"100%c"
],
// 오버라이드 가능한 변수
"$DYNAMIC_ITEM_side_paddings_size|default": [
3,
0
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"left_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$DYNAMIC_ITEM_side_paddings_size"
}
},
{
// ???/?? ??
"root_root": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"fill",
"100%c"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"root@$DYNAMIC_ITEM_root_control": {}
}
]
}
},
{
// ???/?? ??
"right_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$DYNAMIC_ITEM_side_paddings_size"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background@style.image": {
// 가로/세로 크기
"size": [
"100%",
"100%sm"
],
// 사용할 이미지 경로
"texture": "$DYNAMIC_ITEM_background_texture",
// 오버라이드 가능한 변수
"$DYNAMIC_ITEM_background_texture|default": "",
// 게임 값과 연결하는 규칙 목록
"bindings": "$DYNAMIC_ITEM_background_bindings",
// 오버라이드 가능한 변수
"$DYNAMIC_ITEM_background_bindings|default": [
{
// 목록 이름
"binding_collection_name": "form_buttons",
// 가져올 값 이름
"binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#form_button_text - $VERTICAL_PROCESSING_no_height_key) = #form_button_text)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#form_button_text - $VERTICAL_PROCESSING_no_height_key) = #form_button_text)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"bottom_padding@style.image": {
// 오버라이드 가능한 변수
"$DYNAMIC_ITEM_bottom_padding_key|default": "",
// 가로/세로 크기
"size": "$DYNAMIC_ITEM_bottom_padding_size",
// 오버라이드 가능한 변수
"$DYNAMIC_ITEM_bottom_padding_size|default": [
"100%",
3
],
// 사용할 이미지 경로
"texture": "$DYNAMIC_ITEM_bottom_padding_texture",
// 오버라이드 가능한 변수
"$DYNAMIC_ITEM_bottom_padding_texture|default": "",
// 게임 값과 연결하는 규칙 목록
"bindings": "$DYNAMIC_ITEM_bottom_padding_bindings",
// 오버라이드 가능한 변수
"$DYNAMIC_ITEM_bottom_padding_bindings|default": [
{
// 목록 이름
"binding_collection_name": "form_buttons",
// 가져올 값 이름
"binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#form_button_text - $DYNAMIC_ITEM_bottom_padding_key) = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#form_button_text - $DYNAMIC_ITEM_bottom_padding_key) = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
}
}
]
},
// ???/?? ??
"dynamic_item_template": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"100%c"
],
// 오버라이드 가능한 변수
"$DYNAMIC_ITEM_entry|default": "style.dme_03",
// 게임 값과 연결하는 규칙 목록
"bindings": "$DYNAMIC_ITEM_bindings",
// 오버라이드 가능한 변수
"$DYNAMIC_ITEM_bindings|default": [],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"entry@$DYNAMIC_ITEM_entry": {}
}
]
},
// ???/?? ??
"uncollizeble_content_dynamic_item": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [
"100%",
"100%c"
],
// 오버라이드 가능한 변수
"$DYNAMIC_ITEM_uncollizeble_content_control|default": "style.dme_12",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"uncolilzeble_content@$DYNAMIC_ITEM_uncollizeble_content_control": {}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$DYNAMIC_ITEM_between_contents_padding_size",
// 오버라이드 가능한 변수
"$DYNAMIC_ITEM_between_contents_padding_size|default": [
0,
1
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"dynamic_item_main@starlib_pkg_dynamic_structure.dynamic_item_template": {}
}
]
},
// ???/?? ??
"vertical_processing_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"100%c"
],
// 오버라이드 가능한 변수
"$VERTICAL_PROCESSING_sizer_template_control|default": "starlib_pkg_dynamic_structure.vertical_sizer_template",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"vertical_buffer": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
0
],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"post_processing_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"100%cm"
],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 오버라이드 가능한 변수
"$VERTICAL_PROCESSING_output_control|default": "style.dme_13",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"100%sm"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"button@$VERTICAL_PROCESSING_output_control": {}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"vertical_sizer@$VERTICAL_PROCESSING_sizer_template_control": {}
}
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"vertical_sizer@$VERTICAL_PROCESSING_sizer_template_control": {
// 오버라이드 가능한 변수
"$VERTICAL_PROCESSING_no_height_key|default": "",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "form_buttons",
// 가져올 값 이름
"binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#form_button_text - $VERTICAL_PROCESSING_no_height_key) = #form_button_text)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#form_button_text - $VERTICAL_PROCESSING_no_height_key) = #form_button_text)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
]
}
}
]
},
// ???/?? ??
"vertical_sizer_template": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [
"100%",
"100%c"
],
// 이 안에 들어가는 부품 목록
"controls": "$VERTICAL_SIZER_controls",
// 오버라이드 가능한 변수
"$VERTICAL_SIZER_controls|default": [
{
// ???/?? ??
"default_default": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
32
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: global.jsonc
// 분류: StarLib / StarLibV2-1.0.3.3
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
//=======================================
//
// Website & Documentation - https://pipangry.github.io/docs-starlib
//
// StarLibV2 by pipa_ngry
// Please respect my work, don't pass at yours and use it for its intended purpose.
// Thanks =)
//
//=======================================
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "global",
// ???/?? ??
"binding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$key|default": "",
// 보이기/숨기기(공간 유지)
"visible": false,
// ??/???
"enabled": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "form_buttons",
// 가져올 값 이름
"binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#form_button_text - $key) = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#form_button_text - $key) = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
],
// 오버라이드 가능한 변수
"$control|default": "global.empty_panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"control@$control": {}
}
]
},
// ???/?? ??
"reverse_binding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$key|default": "",
// 보이기/숨기기(공간 유지)
"visible": true,
// ??/???
"enabled": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "form_buttons",
// 가져올 값 이름
"binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#form_button_text - $key) = #form_button_text)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#form_button_text - $key) = #form_button_text)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
],
// 오버라이드 가능한 변수
"$control|default": "global.empty_panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"control@$control": {}
}
]
},
// ???/?? ??
"title_binding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$key|default": "",
// 보이기/숨기기(공간 유지)
"visible": false,
// ??/???
"enabled": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#title_text",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#title_text - $key) = #title_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#title_text - $key) = #title_text))",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
],
// 오버라이드 가능한 변수
"$control|default": "global.empty_panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"control@$control": {}
}
]
},
// ???/?? ??
"reverse_title_binding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$key|default": "",
// 보이기/숨기기(공간 유지)
"visible": true,
// ??/???
"enabled": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#title_text",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#title_text - $key) = #title_text)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#title_text - $key) = #title_text)",
// 결과가 들어갈 속성
"target_property_name": "#enabled"
}
],
// 오버라이드 가능한 변수
"$control|default": "global.empty_panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"control@$control": {}
}
]
},
// ???/?? ??
"range_selection_binding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$from|default": "",
// 오버라이드 가능한 변수
"$to|default": "",
// 보이기/숨기기(공간 유지)
"visible": false,
// ??/???
"enabled": false,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 이름
"binding_collection_name": "form_buttons",
// 가져올 값 이름
"binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(((('%.' + $to + 's') * #form_button_text) - (('%.' + $from + 's') * #form_button_text)) - '\t')",
// 결과가 들어갈 속성
"target_property_name": "#text"
},
{
// 계산식/참조 값
"source_property_name": "(not(#text = ''))",
// 계산/조건 결과를 연결
"binding_type": "view",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@common.scrolling_panel": {
// 오버라이드 가능한 변수
"$scroll_bar_contained|default": false,
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size|default": [
3,
0
],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size|default": [
0,
0
],
// 오버라이드 가능한 변수
"$scroll_size|default": [
5,
"100%"
],
// 오버라이드 가능한 변수
"$scroll_view_port_offset|default": [
0,
0
],
// 오버라이드 가능한 변수
"$scrolling_pane_offset|default": [
0,
0
],
// 오버라이드 가능한 변수
"$scrolling_pane_size|default": [
"100%",
"100%"
],
// 오버라이드 가능한 변수
"$scrolling_content|default": "style.dme_14",
// 오버라이드 가능한 변수
"$show_background|default": false,
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 가로/세로 크기
"size": [
"100%",
"100%"
]
},
// ???/?? ??
"empty_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
0,
0
]
},
// ???/?? ??
"button_factory": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [
"100%",
"100%c"
],
// 오버라이드 가능한 변수
"$factory_item|default": "style.dme_04",
// 목록 아이템을 자동으로 생성
"factory": {
"name": "buttons",
// ??? ???
"control_name": "$factory_item"
},
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#form_button_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}
]
},
// ???/?? ??
"grid": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 오버라이드 가능한 변수
"$grid_item|default": "style.dme_05",
"grid_item_template": "$grid_item",
"grid_rescaling_type": "horizontal",
// 목록 이름
"collection_name": "form_buttons",
// 가로/세로 크기
"size": [
"100%",
"100%c"
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#maximum_grid_items",
// 가져올 값 이름
"binding_name": "#form_button_length"
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: screen_common.jsonc
// 분류: StarLib / StarLibV2-1.0.3.3
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
//=======================================
//
// Website & Documentation - https://pipangry.github.io/docs-starlib
//
// StarLibV2 by pipa_ngry
// Please respect my work, don't pass at yours and use it for its intended purpose.
// Thanks =)
//
//=======================================
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "starlib_pkg_screen_common",
// 다른 템플릿을 가져와서 확장(상속)
"title_template@style.label": {
// 보여줄 글자
"text": "#title_text",
// ???/?? ??
"max_size": [
"100%",
"100%"
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#title_text",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"close_button_template@common.button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_exit",
// 가로/세로 크기
"size": "$CLOSE_BUTTON_size",
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_size|default": [
15,
15
],
// 겹치는 순서(숫자 클수록 위)
"layer": 32,
// ??? ??
"sound_name": "$CLOSE_BUTTON_sound_name",
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_sound_name|default": "random.click",
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_default_control|default": "style.close_button_default",
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_hover_control|default": "style.close_button_hover",
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_pressed_control|default": "$CLOSE_BUTTON_hover_control",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"default@$CLOSE_BUTTON_default_control": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hover@$CLOSE_BUTTON_hover_control": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"pressed@$CLOSE_BUTTON_pressed_control": {}
}
]
},
// ???/?? ??
"async_close_button": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$CLOSE_BUTTON_size",
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_size|default": [
15,
15
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button_text@style.label": {
"localize": true,
// 보여줄 글자
"text": "gui.close",
// ??
"font_type": "$CLOSE_BUTTON_text_font_type",
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_text_font_type|default": "MinecraftTen",
// ???/?? ??
"max_size": [
"100%",
"100%"
],
// 기준점에서 이동하는 거리
"offset": "$CLOSE_BUTTON_text_offset",
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_text_offset|default": [
0,
0
],
// 보이기/숨기기(공간 유지)
"visible": "$CLOSE_BUTTON_text_enabled",
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_text_enabled|default": false
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button_icon@style.image": {
// 사용할 이미지 경로
"texture": "$CLOSE_BUTTON_icon_texture",
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_icon_texture|default": "",
// 가로/세로 크기
"size": "$CLOSE_BUTTON_icon_size",
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_icon_size|default": [
"100%",
"100%"
],
// 기준점에서 이동하는 거리
"offset": "$CLOSE_BUTTON_icon_offset",
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_icon_offset|default": [
0,
0
],
// 겹치는 순서(숫자 클수록 위)
"layer": 38
}
},
{
// ???/?? ??
"close_button_root": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_default_control|default": "style.black",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"style@$CLOSE_BUTTON_default_control": {
// 겹치는 순서(숫자 클수록 위)
"layer": 24
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"root@starlib_pkg_screen_common.close_button_template": {
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_size": [
"100%",
"100%"
],
// 오버라이드 가능한 변수
"$CLOSE_BUTTON_default_control": "global.empty_panel"
}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"form_text_template@style.label": {
// 보여줄 글자
"text": "#form_text",
// ?? ??
"text_alignment": "left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not(#form_text = ''))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: screen_template.jsonc
// 분류: StarLib / StarLibV2-1.0.3.3
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
//=======================================
//
// Website & Documentation - https://pipangry.github.io/docs-starlib
//
// StarLibV2 by pipa_ngry
// Please respect my work, don't pass at yours and use it for its intended purpose.
// Thanks =)
//
//=======================================
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "starlib_pkg_screen_template",
// ???/?? ??
"screen": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 오버라이드 가능한 변수
"$SCREEN_TEMPLATE_fade_control|default": "style.fade",
// 오버라이드 가능한 변수
"$SCREEN_TEMPLATE_frame_control|default": "style.white_frame",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"fade@$SCREEN_TEMPLATE_fade_control": {
// 오버라이드 가능한 변수
"$SCREEN_TEMPLATE_fade_enabled|default": false,
// 보이기/숨기기(공간 유지)
"visible": "$SCREEN_TEMPLATE_fade_enabled",
// 가로/세로 크기
"size": [
"200%",
"200%"
],
// ???
"alpha": "$SCREEN_TEMPLATE_fade_alpha",
// 오버라이드 가능한 변수
"$SCREEN_TEMPLATE_fade_alpha|default": 0.3
}
},
{
// ???/?? ??
"screen": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%cm",
"100%cm"
],
// ???/?? ??
"max_size": [
"100% - 20px",
"100% - 20px"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"forms_holder": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%cm",
"100%cm"
],
// 이 안에 들어가는 부품 목록
"controls": "$forms_holder_controls",
// 오버라이드 가능한 변수
"$forms_holder_controls|default": [
{
// 다른 템플릿을 가져와서 확장(상속)
"main@starlib_pkg_screen_template.form_template": {}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"frame@$SCREEN_TEMPLATE_frame_control": {
// 오버라이드 가능한 변수
"$SCREEN_TEMPLATE_frame_enabled|default": false,
// 보이기/숨기기(공간 유지)
"visible": "$SCREEN_TEMPLATE_frame_enabled",
// 가로/세로 크기
"size": [
"100%sm + 2px",
"100%sm + 2px"
]
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"screen_background@style.image": {
// 사용할 이미지 경로
"texture": "$SCREEN_TEMPLATE_background_texture",
// 오버라이드 가능한 변수
"$SCREEN_TEMPLATE_background_texture|default": "",
"fill": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}
}
]
},
// ???/?? ??
"form_template": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$form_size",
// 오버라이드 가능한 변수
"$form_size|default": [
300,
255
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"root": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": "$FORM_TEMPLATE_root_size",
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_root_size|default": [
"100%",
"100%"
],
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_header_control|default": "starlib_pkg_screen_template.header_template",
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_content_control|default": "starlib_pkg_screen_template.content_template",
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_sub_content_control|default": "global.empty_panel",
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_background_control|default": "style.image",
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_between_contents_padding_texture|default": "",
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_between_contents_padding_size|default": [
0,
0
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"header_control@$FORM_TEMPLATE_header_control": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"padding_top@style.image": {
// 사용할 이미지 경로
"texture": "$FORM_TEMPLATE_between_contents_padding_texture",
// 가로/세로 크기
"size": "$FORM_TEMPLATE_between_contents_padding_size",
// 보이기/숨기기(공간 유지)
"visible": "$FORM_TEMPLATE_appear_header_padding",
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_appear_header_padding|default": true
}
},
{
// ???/?? ??
"root_screen": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"fill"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content@$FORM_TEMPLATE_content_control": {
// 가로/세로 크기
"size": "$FORM_TEMPLATE_content_size",
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_content_size|default": [
"100% - 8px",
"100% - 8px"
],
// 기준점에서 이동하는 거리
"offset": "$FORM_TEMPLATE_content_offset",
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_content_offset|default": [
0,
0
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"background@$FORM_TEMPLATE_background_control": {
// 사용할 이미지 경로
"texture": "$FORM_TEMPLATE_background_texture",
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_background_texture|default": ""
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"padding_bottom@style.image": {
// 사용할 이미지 경로
"texture": "$FORM_TEMPLATE_between_contents_padding_texture",
// 가로/세로 크기
"size": "$FORM_TEMPLATE_between_contents_padding_size",
// 보이기/숨기기(공간 유지)
"visible": "$FORM_TEMPLATE_appear_sub_contents_padding",
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_appear_sub_contents_padding|default": false
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"sub_content_control@$FORM_TEMPLATE_sub_content_control": {}
}
],
// 겹치는 순서(숫자 클수록 위)
"layer": 16
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"form_background@style.image": {
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 사용할 이미지 경로
"texture": "$FORM_TEMPLATE_form_background_texture",
// 오버라이드 가능한 변수
"$FORM_TEMPLATE_form_background_texture|default": "",
// 겹치는 순서(숫자 클수록 위)
"layer": 10
}
}
]
},
// ???/?? ??
"header_template": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$HEADER_TEMPLATE_size",
// 오버라이드 가능한 변수
"$HEADER_TEMPLATE_size|default": [
"100%",
24
],
// 오버라이드 가능한 변수
"$HEADER_TEMPLATE_style_control|default": "style.black",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"style_control@$HEADER_TEMPLATE_style_control": {}
},
{
// ???/?? ??
"header_contents": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$HEADER_TEMPLATE_contents_size",
// 오버라이드 가능한 변수
"$HEADER_TEMPLATE_contents_size|default": [
"100%",
"100%"
],
// 기준점에서 이동하는 거리
"offset": "$HEADER_TEMPLATE_contents_offset",
// 오버라이드 가능한 변수
"$HEADER_TEMPLATE_contents_offset|default": [
0,
0
],
// 오버라이드 가능한 변수
"$HEADER_TEMPLATE_title_control|default": "starlib_pkg_screen_common.title_template",
// 오버라이드 가능한 변수
"$HEADER_TEMPLATE_close_button_control|default": "starlib_pkg_screen_template.close_button",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"title_control@$HEADER_TEMPLATE_title_control": {
// ???/?? ??
"max_size": [
"100%",
"100%"
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"close_button_control@$HEADER_TEMPLATE_close_button_control": {}
}
]
}
}
]
},
// 다른 템플릿을 가져와서 확장(상속)
"close_button@starlib_pkg_screen_common.close_button_template": {
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점에서 이동하는 거리
"offset": [
-5,
0
]
},
// ???/?? ??
"content_template": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 오버라이드 가능한 변수
"$CONTENT_header_content_control|default": "global.empty_panel",
// 오버라이드 가능한 변수
"$CONTENT_between_contents_padding_size|default": [
0,
0
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"content_header@$CONTENT_header_content_control": {}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$CONTENT_between_contents_padding_size",
// 보이기/숨기기(공간 유지)
"visible": "$CONTENT_appear_main_contents_padding",
// 오버라이드 가능한 변수
"$CONTENT_appear_main_contents_padding|default": false
}
},
{
// ???/?? ??
"root_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [
"100%",
"fill"
],
// 오버라이드 가능한 변수
"$CONTENT_enable_paperdoll|default": false,
// 오버라이드 가능한 변수
"$CONTENT_paperdoll_control|default": "starlib_pkg_custom_renders.common_paperdoll",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"paperdoll@$CONTENT_paperdoll_control": {
// 보이기/숨기기(공간 유지)
"visible": "$CONTENT_enable_paperdoll",
// ??/???
"enabled": "$CONTENT_enable_paperdoll",
// 게임 값과 연결하는 규칙 목록
"bindings": "$CONTENT_paperdoll_bindings",
// 오버라이드 가능한 변수
"$CONTENT_paperdoll_bindings|default": []
}
},
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$CONTENT_between_contents_padding_size",
// 보이기/숨기기(공간 유지)
"visible": "$CONTENT_appear_root_contents_padding",
// 오버라이드 가능한 변수
"$CONTENT_appear_root_contents_padding|default": true
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@global.scrolling_panel": {
// 오버라이드 가능한 변수
"$scrolling_content|default": "starlib_pkg_screen_template.scrolling_content_template",
// 가로/세로 크기
"size": [
"fill",
"100%"
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"fix@global.empty_panel": {}
}
]
}
}
]
},
// ???/?? ??
"scrolling_content_template": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [
"100%",
"100%c"
],
// 오버라이드 가능한 변수
"$SCROLLING_CONTENT_form_text_control|default": "starlib_pkg_screen_common.form_text_template",
// 오버라이드 가능한 변수
"$SCROLLING_CONTENT_main_control|default": "global.button_factory",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"form_text": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"100%c"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"form_text@$SCROLLING_CONTENT_form_text_control": {}
}
]
}
},
{
// ???/?? ??
"additional_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [
"100%",
"100%c"
],
// 오버라이드 가능한 변수
"$SCROLLING_CONTENT_additional_content_margins_size|default": [
0,
0
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"top_margin": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$SCROLLING_CONTENT_additional_content_margins_size"
}
},
{
// ???/?? ??
"additional_content_root": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"100%c"
],
// 오버라이드 가능한 변수
"$SCROLLING_CONTENT_additional_content_root_control|default": "global.empty_panel",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"additional_content_root@$SCROLLING_CONTENT_additional_content_root_control": {}
}
]
}
},
{
// ???/?? ??
"bottom_margin": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$SCROLLING_CONTENT_additional_content_margins_size"
}
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"main@$SCROLLING_CONTENT_main_control": {
// 오버라이드 가능한 변수
"$factory_item|default": "$button_item_control",
// 오버라이드 가능한 변수
"$button_item_control|default": "style.dme_01"
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: style.jsonc
// 분류: StarLib / StarLibV2-1.0.3.3
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
//=======================================
//
// Website & Documentation - https://pipangry.github.io/docs-starlib
//
// StarLibV2 by pipa_ngry
// Please respect my work, don't pass at yours and use it for its intended purpose.
// Thanks =)
//
//=======================================
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "style",
// ???/?? ??
"label": {
// 글자 표시
"type": "label",
// ?? ??
"text_alignment": "center",
// ??
"font_type": "MinecraftSeven",
"font_size": "normal",
// 가로/세로 크기
"size": [
"100%",
"default"
],
// 오버라이드 가능한 변수
"$label_layer|default": 58,
// 겹치는 순서(숫자 클수록 위)
"layer": "$label_layer",
// 보여줄 글자
"text": "§7You forgot to write the text >=("
},
// ???/?? ??
"image": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 사용할 이미지 경로
"texture": "",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
},
//=======================================
//
// Default StarLibV2 style elements
// All of these use default Minecraft textures
//
//=======================================
"close_button_default@image": {
// 사용할 이미지 경로
"texture": "textures/ui/close_button_default_light"
},
// 다른 템플릿을 가져와서 확장(상속)
"close_button_hover@image": {
// 사용할 이미지 경로
"texture": "textures/ui/close_button_hover_light"
},
// 다른 템플릿을 가져와서 확장(상속)
"black_alpha@image": {
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// ???
"alpha": 0.6
},
// 다른 템플릿을 가져와서 확장(상속)
"black@image": {
// 사용할 이미지 경로
"texture": "textures/ui/Black"
},
// 다른 템플릿을 가져와서 확장(상속)
"fade@image": {
// 사용할 이미지 경로
"texture": "textures/ui/Black"
},
// 다른 템플릿을 가져와서 확장(상속)
"white_frame@image": {
// 사용할 이미지 경로
"texture": "textures/ui/focus_border_white"
},
// 다른 템플릿을 가져와서 확장(상속)
"hightlight@image": {
// 사용할 이미지 경로
"texture": "textures/ui/control_white",
// ???
"alpha": 0.2
},
//=======================================
//
// Debug messages
//
//=======================================
"dme_01@label": {
// 보여줄 글자
"text": "§cButton factory item not defined."
},
// 다른 템플릿을 가져와서 확장(상속)
"dme_02@label": {
// 보여줄 글자
"text": "§cDynamic item root control not defined."
},
// 다른 템플릿을 가져와서 확장(상속)
"dme_03@label": {
// 보여줄 글자
"text": "§cDynamic item entry element not defined."
},
// 다른 템플릿을 가져와서 확장(상속)
"dme_04@label": {
// 보여줄 글자
"text": "§cCommon button factory item not defined."
},
// 다른 템플릿을 가져와서 확장(상속)
"dme_05@label": {
// 보여줄 글자
"text": "§cCommon button grid item not defined."
},
// 다른 템플릿을 가져와서 확장(상속)
"dme_06@label": {
// 보여줄 글자
"text": "§cThird sizer output not defined."
},
// 다른 템플릿을 가져와서 확장(상속)
"dme_07@label": {
// 보여줄 글자
"text": "§cHalf sizer output not defined."
},
// 다른 템플릿을 가져와서 확장(상속)
"dme_08@label": {
// 보여줄 글자
"text": "§cCustom sizer output not defined."
},
// 다른 템플릿을 가져와서 확장(상속)
"dme_09@label": {
// 보여줄 글자
"text": "§cVertical stack item main control not defined."
},
// 다른 템플릿을 가져와서 확장(상속)
"dme_10@label": {
// 보여줄 글자
"text": "§cBordered button default element annotation not defined."
},
// 다른 템플릿을 가져와서 확장(상속)
"dme_11@label": {
// 보여줄 글자
"text": "§cGrid item root control not defined."
},
// 다른 템플릿을 가져와서 확장(상속)
"dme_12@label": {
// 보여줄 글자
"text": "§cUncollizeble content control not defined."
},
// 다른 템플릿을 가져와서 확장(상속)
"dme_13@label": {
// 보여줄 글자
"text": "§cVertical processing output not defined.",
// 가로/세로 크기
"size": [
"100%",
"100%"
]
},
// 다른 템플릿을 가져와서 확장(상속)
"dme_14@label": {
// 보여줄 글자
"text": "§cScrolling content not defined."
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: _global_variables.json
// 분류: 통합 UI 모음 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 기존 알림 시스템 설정
"$notification_flag_0e34fd": "§N§O§T§I§F§I§C§A§T§I§O§N",
// exp_toast 관련 설정
"$chat_item_lifetime": 3.0,
// Chest-UI 설정
"$show_inventory": false, // 인벤토리 표시 여부. 저사양 기기에서는 false 권장
// 오버라이드 가능한 변수
"$border_and_background_texture": "textures/ui/dialog_background_opaque", // 배경 및 테두리 텍스처
/*
*사용할 레이아웃만 활성화하고 나머지는 비활성화하여 렉 감소*
*/
// 오버라이드 가능한 변수
"$disable_furnace_ui": false,
// 오버라이드 가능한 변수
"$disable_1_slots_layout": true,
// 오버라이드 가능한 변수
"$disable_5_slots_layout": true,
// 오버라이드 가능한 변수
"$disable_9_slots_layout": false, // 9칸 레이아웃 활성화 (메뉴용)
// 오버라이드 가능한 변수
"$disable_18_slots_layout": true,
// 오버라이드 가능한 변수
"$disable_27_slots_layout": false, // 27칸 레이아웃 활성화 (카테고리 메뉴용)
// 오버라이드 가능한 변수
"$disable_36_slots_layout": true,
// 오버라이드 가능한 변수
"$disable_45_slots_layout": true,
// 오버라이드 가능한 변수
"$disable_54_slots_layout": false // 54칸 레이아웃 활성화 (상점 아이템 표시용)
}
필요한 부분만 참고해서 가져가세요.
// 예제: _ui_defs.json
// 분류: 통합 UI 모음 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// ???/?? ??
"ui_defs": [
"ui/_global_variables.json",
"ui/hud_screen.json",
"ui/chat_screen.json",
"ui/components/exp_toast.json",
"ui/server_form.json"
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: chat_screen.json
// 분류: 통합 UI 모음 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "chat",
// ???/?? ??
"messages_text/text": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#text - '<' - '>')",
// 결과가 들어갈 속성
"target_property_name": "#output"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('§␛' + #text + '§r') - ('§␛' + $notification_flag_0e34fd) = ('§␛' + #text + '§r')) and ((#output - '\ue1fd' - '\ue1fe' - '\ue1ff') = #output)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: hud_screen.json
// 분류: 통합 UI 모음 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "hud",
// ???/?? ??
"hud_screen": {
"render_only_when_topmost": false,
// 오버라이드 가능한 변수
"$additional_screen_content": "hud.notification_factory",
// 오버라이드 가능한 변수
"$use_loading_bars": false,
// 오버라이드 가능한 변수
"$screen_animations": [],
// 오버라이드 가능한 변수
"$background_animations": []
},
// ???/?? ??
"boss_health_panel_score": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
182,
20
],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 오버라이드 가능한 변수
"$progress_bar_collection": "scoreboard_scores",
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
0,
10
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"progress_bar_for_collections@common.progress_bar": {
// 기준점에서 이동하는 거리
"offset": [
0,
10
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"empty_progress_bar@common.empty_progress_bar": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"filled_progress_bar@common.filled_progress_bar": {
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// ?? ??
"clip_pixelperfect": false,
// ?? (R,G,B,A)
"color": [
1,
0.84,
0
],
// 오버라이드 가능한 변수
"$bossbar_max_value": 100.0,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#objective_sidebar_name",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 가져올 값 이름
"binding_name": "#player_score_sidebar",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "scoreboard_scores"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(1 - ((#player_score_sidebar * 1) / $bossbar_max_value))",
// 결과가 들어갈 속성
"target_property_name": "#clip_ratio"
}
]
}
}
]
}
}
]
},
// ???/?? ??
"boss_health_panel_player": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
182,
20
],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 오버라이드 가능한 변수
"$progress_bar_collection": "scoreboard_scores",
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"boss_name@boss_name_panel": {}
}
]
},
// ???/?? ??
"boss_name_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
182,
14
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"boss_name@hud.boss_name": {}
}
]
},
// ???/?? ??
"boss_name": {
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": [
1.0,
1.0,
1.0
],
// 보여줄 글자
"text": "#player_name_sidebar",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [
"default",
10
],
// ??
"font_type": "smooth",
// ?? ?? ??
"font_scale_factor": 1,
"shadow": true,
// ?? ??
"text_alignment": "center",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#player_name_sidebar",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "scoreboard_players"
}
]
},
// ???/?? ??
"root_panel/sidebar": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"root_panel/boss_health_panel/boss_hud_panel": {
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"boss_health_grid_name@hud.boss_health_grid_scoreboard_name": {
// 기준점에서 이동하는 거리
"offset": [
0,
2
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"boss_health_grid_score@hud.boss_health_grid_scoreboard_score": {
// 기준점에서 이동하는 거리
"offset": [
0,
2
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#scoreboard_sidebar_visible",
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
},
// ???/?? ??
"boss_health_grid_scoreboard_score": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 가로/세로 크기
"size": [
182,
"30%"
],
// 목록 이름
"collection_name": "scoreboard_scores",
// 목록 아이템을 자동으로 생성
"factory": {
"name": "player_score_factory",
// ??? ???
"control_name": "hud.boss_health_panel_score"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#scoreboard_sidebar_size",
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}
]
},
// ???/?? ??
"boss_health_grid_scoreboard_name": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 가로/세로 크기
"size": [
182,
"30%"
],
// 목록 이름
"collection_name": "scoreboard_players",
// 목록 아이템을 자동으로 생성
"factory": {
"name": "player_score_factory",
// ??? ???
"control_name": "hud.boss_health_panel_player"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#scoreboard_sidebar_size",
// 게임이 주는 전역 값 연결
"binding_type": "global",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}
]
},
// ???/?? ??
"hud_title_text": {
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점에서 이동하는 거리
"offset": [
-2,
0
],
// ???
"alpha": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 게임이 주는 전역 값 연결
"binding_type": "global"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#text = ' '))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"hud_title_text/title_frame/title_background": {
// 가로/세로 크기
"size": [
"100%sm + 3px",
"100%sm + 6px"
],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// ???
"alpha": 0.6
},
// ???/?? ??
"hud_title_text/title_frame/title": {
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// ?? ??
"text_alignment": "left_middle",
// ?? (R,G,B,A)
"color": "$tool_tip_text",
"font_size": "normal",
"line_padding": -1
},
// ???/?? ??
"score_grid": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 그리드 칸 수
"grid_dimensions": [
1,
1
],
"grid_item_template": "hud.score_grid_item",
// 목록 이름
"collection_name": "players_collection"
},
// ???/?? ??
"score_grid_item": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%",
"100%"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"gamertag_control": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 가로/세로 크기
"size": [
"100%cm",
"100%cm"
],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [
-4,
4
],
// 목록 이름
"collection_name": "scoreboard_scored_list_collection",
// 목록 아이템을 자동으로 생성
"factory": {
"name": "scored_list_factory",
// ??? ???
"control_name": "hud.score_bg"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#scored_list_size",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
},
{
// 가져올 값 이름
"binding_name": "#gamertag",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "players_collection"
}
]
}
}
]
},
// ???/?? ??
"score_bg": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// 가로/세로 크기
"size": [
"100%c + 8px",
"100%c + 4px"
],
// ???
"alpha": 0.6,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#player_name",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "scoreboard_scored_list_collection"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "gamertag_control",
// 계산식/참조 값
"source_property_name": "#gamertag",
// 결과가 들어갈 속성
"target_property_name": "#playername"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#playername = #player_name)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"score_label": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
"shadow": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// ?? ???
"binding_condition": "visible",
// 가져올 값 이름
"binding_name": "#player_score",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "scoreboard_scored_list_collection"
},
{
// ?? ???
"binding_condition": "visible",
// 가져올 값 이름
"binding_name": "#player_list_title"
},
{
// ?? ???
"binding_condition": "visible",
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#player_list_title + #player_score)",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]
}
}
]
},
// ???/?? ??
"notification_factory": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [
0,
"100%c"
],
// 겹치는 순서(숫자 클수록 위)
"layer": 20,
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 목록 아이템을 자동으로 생성
"factory": {
"name": "chat_item_factory",
// 팩토리 템플릿 매핑
"control_ids": {
"chat_item": "@hud.notification"
}
}
},
// ???/?? ??
"noti_1": {
// 크기 변화
"anim_type": "size",
// 걸리는 시간(초)
"duration": "$in_time",
// 움직임 곡선
"easing": "out_sine",
// 시작 값
"from": [
"100%c",
"100%c"
],
// 끝 값
"to": [
0,
"100%c"
],
// 다음 애니메이션으로 연결
"next": "@hud.noti_2"
},
// ???/?? ??
"noti_2": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": "$stay_time",
// 다음 애니메이션으로 연결
"next": "@hud.noti_3"
},
// ???/?? ??
"noti_3": {
// 크기 변화
"anim_type": "size",
// 걸리는 시간(초)
"duration": "$out_time",
// 움직임 곡선
"easing": "in_sine",
// 시작 값
"from": [
0,
"100%c"
],
// 끝 값
"to": [
"100%c",
"100%c"
],
// 다음 애니메이션으로 연결
"next": "@hud.noti_4"
},
// ???/?? ??
"noti_4": {
// 투명도 변화
"anim_type": "alpha",
// 걸리는 시간(초)
"duration": 0,
// 시작 값
"from": 1,
// 끝 값
"to": 0,
// 다음 애니메이션으로 연결
"next": "@hud.noti_5"
},
// ???/?? ??
"noti_5": {
// 크기 변화
"anim_type": "size",
// 걸리는 시간(초)
"duration": 1,
// 움직임 곡선
"easing": "out_expo",
// 시작 값
"from": [
"100%c",
"100%c"
],
// 끝 값
"to": [
"100%c",
0
],
// 다음 애니메이션으로 연결
"next": "@hud.noti_4",
"destroy_at_end": "chat_grid_item"
},
// ???/?? ??
"immediate_destroy_anim": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 0,
"destroy_at_end": "chat_grid_item"
},
// ???/?? ??
"notification": {
// 오버라이드 가능한 변수
"$in_time": 1,
// 오버라이드 가능한 변수
"$stay_time": 5,
// 오버라이드 가능한 변수
"$out_time": 1,
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
"propagate_alpha": true,
// 애니메이션 목록
"anims": [
"@hud.noti_1"
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"notification_background": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 가로/세로 크기
"size": [
"100%c + 18px",
"100%cm + 12px"
],
// ???/?? ??
"min_size": [
"100%c + 18px",
34
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"notification_text_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
"100%cm",
"100%c"
],
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 기준점에서 이동하는 거리
"offset": [
-9,
1
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "notification_background",
// 계산식/참조 값
"source_property_name": "#notification_title",
// 결과가 들어갈 속성
"target_property_name": "#nested_title",
"resolve_sibling_scope": true
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "notification_background",
// 계산식/참조 값
"source_property_name": "#notification_message",
// 결과가 들어갈 속성
"target_property_name": "#nested_message",
"resolve_sibling_scope": true
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"notification_title": {
// 글자 표시
"type": "label",
"line_padding": -2,
// ??
"font_type": "default",
// ?? ?? ??
"font_scale_factor": 1.2,
// 보여줄 글자
"text": "#title",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [
0,
-2
],
// ???/?? ??
"max_size": [
200,
"default"
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "notification_text_panel",
// 계산식/참조 값
"source_property_name": "#nested_title",
// 결과가 들어갈 속성
"target_property_name": "#title",
"resolve_sibling_scope": true
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#title = '§r§r'))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"notification_message": {
// 글자 표시
"type": "label",
"line_padding": 1,
// ??
"font_type": "default",
// 보여줄 글자
"text": "#message",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// ???/?? ??
"max_size": [
200,
"default"
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "notification_text_panel",
// 계산식/참조 값
"source_property_name": "#nested_message",
// 결과가 들어갈 속성
"target_property_name": "#message",
"resolve_sibling_scope": true
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#message = '§r§r'))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
},
{
// ???/?? ??
"notification_icon_texture": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [
16,
16
],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [
9,
9
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "notification_background",
// 계산식/참조 값
"source_property_name": "#notification_icon_texture",
// 결과가 들어갈 속성
"target_property_name": "#texture",
"resolve_sibling_scope": true
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#texture = '') and (#texture - 'aux:' = #texture))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// ???/?? ??
"notification_item_renderer": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "inventory_item_renderer",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [
16,
16
],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [
9,
9
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "notification_background",
// 계산식/참조 값
"source_property_name": "((#notification_icon_texture - 'aux:') * 1)",
// 결과가 들어갈 속성
"target_property_name": "#item_id_aux",
"resolve_sibling_scope": true
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "notification_background",
// 계산식/참조 값
"source_property_name": "(not (#notification_icon_texture - 'aux:' = #notification_icon_texture))",
// 결과가 들어갈 속성
"target_property_name": "#visible",
"resolve_sibling_scope": true
}
]
}
},
{
// ???/?? ??
"notification_icon_padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
6,
0
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "notification_background",
// 계산식/참조 값
"source_property_name": "(not ((#notification_title + #notification_message = '§r§r§r§r') or (#notification_icon_texture = '')))",
// 결과가 들어갈 속성
"target_property_name": "#visible",
"resolve_sibling_scope": true
}
]
}
}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (('§␛' + #text + '§r') - ('§␛' + $notification_flag_0e34fd) = ('§␛' + #text + '§r')))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('\b' + #text - $notification_flag_0e34fd)",
// 결과가 들어갈 속성
"target_property_name": "#data"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('§r' + '%.101s' * #data - '\b' - '\t' + '§r')",
// 결과가 들어갈 속성
"target_property_name": "#notification_title"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('§r' + '%.301s' * #data - '%.101s' * #data) - '\b' - '\t' + '§r')",
// 결과가 들어갈 속성
"target_property_name": "#notification_message"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('%.401s' * #data - '%.301s' * #data - '\t')",
// 결과가 들어갈 속성
"target_property_name": "#notification_icon_texture"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "('%.501s' * #data - '%.401s' * #data - '\t')",
// 결과가 들어갈 속성
"target_property_name": "#texture"
}
]
}
},
{
// ???/?? ??
"immediate_destroy": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [
0,
0
],
// 목록 아이템을 자동으로 생성
"factory": {
"name": "immediate_destroy_factory",
// ??? ???
"control_name": "@hud.immediate_destroy_control"
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "notification_background",
// 계산식/참조 값
"source_property_name": "((not #visible) * 1)",
// 결과가 들어갈 속성
"target_property_name": "#collection_length",
"resolve_sibling_scope": true
}
]
}
}
]
},
// ???/?? ??
"immediate_destroy_control": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [
0,
0
],
// 애니메이션 목록
"anims": [
"@hud.immediate_destroy_anim"
]
},
// ???/?? ??
"koala_title_data_control": {
// 오버라이드 가능한 변수
"$update_string": "Hp:",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#hud_title_text_string" },
{ "binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#preserved_text",
// ?? ???
"binding_condition": "visibility_changed"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #preserved_text) and not ((#hud_title_text_string - $update_string) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"chat_grid_item/chat_background": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "collection",
// 가져올 값 이름
"binding_name": "#chat_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 목록 이름
"binding_collection_name": "chat_text_grid"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#text - '<' - '>')",
// 결과가 들어갈 속성
"target_property_name": "#output"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#output - '\ue1fd' - '\ue1fe' - '\ue1ff' - $notification_flag_0e34fd) = #output)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
},
// ???/?? ??
"item_text_element": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 999,
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"item_text_aligner": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점에서 이동하는 거리
"offset": [ 0, -42 ],
"use_child_anchors": true,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"exp_toast@exp_toast.root_panel": {}
}
]
}
}
]
},
// ???/?? ??
"exp_progress_bar_and_hotbar": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "remove",
// ??? ???
"control_name": "item_text_factory"
},
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"item_text_element@hud.item_text_element": {}
}
]
}
]
},
// ???/?? ??
"exp_progress_bar_and_hotbar_pocket": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "remove",
// ??? ???
"control_name": "item_text"
},
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"item_text_element@hud.item_text_element": {}
}
]
}
]
},
// ???/?? ??
"root_panel": {
// ?? ?? ??
"modifications": [
{
// ?? ?? ??
"array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{
// 다른 템플릿을 가져와서 확장(상속)
"koala_title_data_control@hud.koala_title_data_control": {}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"score_grid@hud.score_grid": {}
}
]
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: exp_toast.json
// 분류: 통합 UI 모음 / components
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "exp_toast",
// ???/?? ??
"root_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ 300, "100%c" ],
"max_size": [ 300, 50 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -53 ],
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "factory_stack": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ 170, "100%c" ],
// 목록 아이템을 자동으로 생성
"factory": {
"name": "chat_item_factory",
"max_children_size": 10,
// 팩토리 템플릿 매핑
"control_ids": {
"chat_item": "exp_toast@exp_toast.element"
}}
}}
]},
// ???/?? ??
"element": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": -20,
// 가로/세로 크기
"size": [ 170, "100%cm" ],
// 기준점에서 이동하는 거리
"offset": [ 0, -1 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "@exp_toast.subbar": {}}
]},
// ???/?? ??
"subbar": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 170, 5 ],
"propagate_alpha": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 사용할 이미지 경로
"texture": "textures/ui/black",
// ???
"alpha": 0.7,
// 애니메이션 목록
"anims": [
"@exp_toast.anim_chat_pile_up"
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#chat_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "chat_text_grid",
// ?? ???
"binding_condition": "once"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#text - '<' - '>')",
// 결과가 들어갈 속성
"target_property_name": "#output"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#output - '\ue1fd') = #output))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 200, "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 사용할 이미지 경로
"texture": "textures/ui/white",
// ?? (R,G,B,A)
"color": [ 0, 0, 0 ],
// ???
"alpha": 0.7,
"propagate_alpha": true,
// 애니메이션 목록
"anims": [
"@exp_toast.anim_chat_bg_wait_bottom"
],
// 이 안에 들어가는 부품 목록
"controls": [
{ "gradient_background_left": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "gradient_renderer",
// 가로/세로 크기
"size": [ 30, "100%" ],
// 기준점에서 이동하는 거리
"offset": [ -30, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
"gradient_direction": "horizontal",
"color1": [ 0, 0, 0, 0 ],
"color2": [ 0, 0, 0, 1 ]
}},
{ "gradient_background_right": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "gradient_renderer",
// 가로/세로 크기
"size": [ 30, "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 30, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
"gradient_direction": "horizontal",
"color1": [ 0, 0, 0, 1 ],
"color2": [ 0, 0, 0, 0 ]
}}
]}},
{ "text_wrapper": {
// 클릭 가능한 버튼
"type": "button",
// 가로/세로 크기
"size": [ 170, "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#chat_text",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
"shadow": true,
// 기준점에서 이동하는 거리
"offset": [ 0, -1.5 ],
"localize": false,
// 가로/세로 크기
"size": [ 200, "default" ],
"enable_profanity_filter": true,
// ?? ?? ??
"font_scale_factor": 0.75,
// 애니메이션 목록
"anims": [ "@exp_toast.anim_chat_txt_wait" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "chat_text_grid"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "('§z' + (#text - (%.3s * #text)))",
// 결과가 들어갈 속성
"target_property_name": "#chat_text"
}]
}}
]}}
]},
// ???/?? ??
"anim_chat_pile_up": {
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "out_expo",
// 걸리는 시간(초)
"duration": 0.5,
// 시작 값
"from": [ 200, 0 ],
// 끝 값
"to": [ 200, 10 ]
},
// ???/?? ??
"anim_chat_bg_alpha_bottom": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_quart",
// 걸리는 시간(초)
"duration": 1,
// 시작 값
"from": 0.7,
// 끝 값
"to": 0
},
// ???/?? ??
"anim_chat_bg_wait_bottom": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 0.5,
// 다음 애니메이션으로 연결
"next": "@exp_toast.anim_chat_bg_alpha_bottom"
},
// ???/?? ??
"anim_chat_txt_alpha": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_quart",
// 걸리는 시간(초)
"duration": 0.7,
// 시작 값
"from": 1,
// 끝 값
"to": 0
},
// ???/?? ??
"anim_chat_txt_wait": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 1,
// 다음 애니메이션으로 연결
"next": "@exp_toast.anim_chat_txt_alpha"
},
// ???/?? ??
"progress_bar_anim": {
// 크기 변화
"anim_type": "size",
// 시작 값
"from": [ "0%", 1 ],
// 끝 값
"to": [ "100% - 8px", 1 ],
// 걸리는 시간(초)
"duration": "($chat_item_lifetime + 2)"
},
// ???/?? ??
"anim_chat_stack": {
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "out_expo",
// 걸리는 시간(초)
"duration": 0.5,
// 시작 값
"from": [ 180, 0 ],
// 끝 값
"to": [ 180, "100%c" ]
},
// ???/?? ??
"anim_chat_bg_pop": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "out_expo",
// 걸리는 시간(초)
"duration": 1,
// 시작 값
"from": [ "100%", 0 ],
// 끝 값
"to": [ 0, 0 ],
// 다음 애니메이션으로 연결
"next": "@exp_toast.anim_chat_bg_wait_push"
},
// ???/?? ??
"anim_chat_bg_wait_push": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 1,
// 다음 애니메이션으로 연결
"next": "@exp_toast.anim_chat_bg_push"
},
// ???/?? ??
"anim_chat_bg_push": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "in_expo",
// 걸리는 시간(초)
"duration": 1,
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ "100%", 0 ],
"destroy_at_end": "chat_grid_item"
},
// ???/?? ??
"toast_image_template": {
// 오버라이드 가능한 변수
"$arx:chat_image_binding|default": "#text",
// 이미지 표시
"type": "image",
"force_texture_reload": true,
"allow_debug_missing_texture": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#chat_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "chat_text_grid",
// ?? ???
"binding_condition": "once"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "$arx:chat_image_binding",
// 결과가 들어갈 속성
"target_property_name": "#texture"
}]},
// ???/?? ??
"toast_label_template": {
// 오버라이드 가능한 변수
"$arx:chat_text_binding|default": "#text",
// 글자 표시
"type": "label",
"max_size": [ "100% - 18px", 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#chat_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "chat_text_grid",
// ?? ???
"binding_condition": "once"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "$arx:chat_text_binding",
// 결과가 들어갈 속성
"target_property_name": "#displaytext"
}]}
}
필요한 부분만 참고해서 가져가세요.
// 예제: _ui_defs.json
// 분류: UI 재료 모음 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{ "ui_defs": [
// Server Forms related.
"ui/.runeui/forms/brewing_table.json",
"ui/.runeui/forms/smelting.json",
"ui/.runeui/forms/salvaging.json",
"ui/.runeui/forms/smithing.json",
"ui/.runeui/forms/fuel_selection.json",
"ui/.runeui/forms/prayer_menu.json",
"ui/.runeui/forms/fletching_table.json",
"ui/.runeui/forms/repair.json",
"ui/.runeui/forms/noting.json",
"ui/.runeui/forms/noting_amount.json",
"ui/.runeui/forms/unnoting.json",
"ui/.runeui/forms/runecraft_form.json",
// Gameplay
"ui/.runeui/gameplay/skill_interface.json",
"ui/.runeui/gameplay/exp_toast.json",
"ui/.runeui/gameplay/notif_toast.json",
"ui/.runeui/gameplay/chat_filter.json",
"ui/.runeui/gameplay/warning.json",
"ui/.runeui/gameplay/gameplay.json",
// Misc
"ui/.runeui/misc/preload.json",
// Commons
"ui/.runeui/common.json"
]}
필요한 부분만 참고해서 가져가세요.
// 예제: chat_screen.json
// 분류: UI 재료 모음 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{ "messages_scrolling_panel": {
// 가로/세로 크기
"size": [ "100%-2px", "100%-70px" ],
// 기준점에서 이동하는 거리
"offset": [ 2, -47 ]
},
// ???/?? ??
"commands_panel": {
// 가로/세로 크기
"size": [ "100%-2px", "100%-70px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, -47 ]
},
// ???/?? ??
"messages_text": {
// 이 안에 들어가는 부품 목록
"controls": [
{ "normal_label": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "view",
"source_control_name": "rcui-normal_chat",
// 계산식/참조 값
"source_property_name": "(not #toggle_state)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "text@runeui-chat_filter.messages_text_core": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#text - '<' - '>')",
// 결과가 들어갈 속성
"target_property_name": "#output"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "('§z' + #text)",
// 결과가 들어갈 속성
"target_property_name": "#output_display"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#output - '\ue1fd' - '\ue1fe' - '\ue1ff') = #output)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}]
}}
]}},
{ "exp_label": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "view",
"source_control_name": "rcui-exp_chat",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "text@runeui-chat_filter.messages_text_core": {
// 오버라이드 가능한 변수
"$runeui:text_offset": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#text - '<' - '>')",
// 결과가 들어갈 속성
"target_property_name": "#output"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "('§z' + (#text - '\ue1fd'))",
// 결과가 들어갈 속성
"target_property_name": "#output_display"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#output - '\ue1fd') = #output))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}]
}}
]}},
{ "notif_label": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "view",
"source_control_name": "rcui-notif_chat",
// 계산식/참조 값
"source_property_name": "#toggle_state",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "text@runeui-chat_filter.messages_text_core": {
// 오버라이드 가능한 변수
"$runeui:text_offset": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "('§z' + #text)",
// 결과가 들어갈 속성
"target_property_name": "#output"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#search + 1 * (not (('%.'+#search+'s') * #output = #output)) and (('%.'+#search+'s') * #output = ('%.'+#search+'s') * #output - ';')))",
// 결과가 들어갈 속성
"target_property_name": "#search"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "((('%.'+#search+'s') * #output) - '§z')",
// 결과가 들어갈 속성
"target_property_name": "#texture_path"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#text - #texture_path - \ue1ff)",
// 결과가 들어갈 속성
"target_property_name": "#output_display"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#output - '\ue1ff') = #output))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}]
}}
]}}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#chat_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]},
// ???/?? ??
"chat_screen_content": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{ "messages_panel@chat.messages_scrolling_panel": {} },
{ "chat_bottom_panel@chat.chat_bottom_panel": { "layer": 2 } },
{ "chat_bottom_panel_filter@runeui-chat_filter.chat_bottom_panel_filter": { "layer": 2 } },
{ "chat_top_panel@chat.chat_header": { "layer": 2 } },
{ "autocomplete_commands_panel@chat.commands_panel": { "layer": 3 } },
{ "host_main_panel@host_options.host_panel": { "layer": 4 } },
{ "popup_factory@chat_settings.popup_factory": {} }
]}
}
필요한 부분만 참고해서 가져가세요.
// 예제: hud_screen.json
// 분류: UI 재료 모음 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// ???/?? ??
"centered_gui_elements_at_bottom_middle": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ 180, 50 ],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"heart_rend@heart_renderer": {
// 기준점에서 이동하는 거리
"offset": [ -1, -40 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"horse_heart_rend_0@horse_heart_renderer": {
// 기준점에서 이동하는 거리
"offset": [ 200, -55 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#creative_horse_hearts",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"horse_heart_rend_1@horse_heart_renderer": {
// 기준점에서 이동하는 거리
"offset": [ 200, -55 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#survival_horse_hearts",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"armor_rend@armor_renderer": {
// 기준점에서 이동하는 거리
"offset": [ -1, -40 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hunger_rend@hunger_renderer": {
// 기준점에서 이동하는 거리
"offset": [ 180, -40 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left"
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"bubbles_rend_0@bubbles_renderer": {
// 기준점에서 이동하는 거리
"offset": [ 200, -55 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_not_riding_bubbles",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"bubbles_rend_1@bubbles_renderer": {
// 기준점에서 이동하는 거리
"offset": [ 200, -55 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#is_riding_bubbles",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}
]
}
},
{ "exp_rend@exp_progress_bar_and_hotbar": {} } // for classic
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 가져올 값 이름
"binding_name": "#hud_visible_centered",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}
]
},
// ???/?? ??
"chat_grid_item/chat_background": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "collection",
// 가져올 값 이름
"binding_name": "#chat_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 목록 이름
"binding_collection_name": "chat_text_grid"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#text - '<' - '>')",
// 결과가 들어갈 속성
"target_property_name": "#output"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#output - '\ue1fd' - '\ue1fe' - '\ue1ff') = #output)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}]},
// Aligned Touch Hotbar from Collapse-UI
"hotbar_panel": {
// 이 안에 들어가는 부품 목록
"controls": [
{ "left_pudding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 20, 22 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#hotbar_elipses_right_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}]
}},
{ "hotbar_elipses_panel_left@hud.hotbar_elipses_panel_left_content": {}},
{ "hotbar_start_cap@hud.hotbar_start_cap": {}},
{ "hotbar_grid@hud.hotbar_grid": {} },
{ "hotbar_end_cap@hud.hotbar_end_cap": {}},
{ "hotbar_elipses_panel_right@hud.hotbar_elipses_panel_right_content": {}},
{ "right_pudding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 20, 22 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#hotbar_elipses_left_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible",
// 게임이 주는 전역 값 연결
"binding_type": "global"
}]
}}
]},
// ???/?? ??
"hotbar_elipses_panel_left_content": {
// 오버라이드 가능한 변수
"$hotbar_elipses_button_size": [ 20, 22 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "button@hud.hotbar_elipses_button": {} }
]},
// ???/?? ??
"hotbar_elipses_panel_right_content": {
// 오버라이드 가능한 변수
"$hotbar_elipses_button_size": [ 20, 22 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "button@hud.hotbar_elipses_button": {} }
]},
// ???/?? ??
"hotbar_elipses_button": {
"prevent_touch_input": true
},
// 다른 템플릿을 가져와서 확장(상속)
"borderless_button@common.button": {
"prevent_touch_input": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "elipses@elipses_image_rewrite": {}}
]},
// ???/?? ??
"elipses_image_rewrite": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/elipses",
// 가로/세로 크기
"size": [ 16, 16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4
},
// ???/?? ??
"full_progress_bar": {
// 사용할 이미지 경로
"texture": "textures/ui/experiencebarfullnew"
},
// ???/?? ??
"empty_progress_bar": {
// 사용할 이미지 경로
"texture": "textures/ui/experiencebaremptynew"
},
// ???/?? ??
"progress_bar_nub": {
// 사용할 이미지 경로
"texture": "textures/ui/experiencenubnew"
},
// ???/?? ??
"chat_label": {
// 보여줄 글자
"text": "#chat_text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "chat_text_grid"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#text)",
// 결과가 들어갈 속성
"target_property_name": "#chat_text"
}
]
},
// ???/?? ??
"hud_title_text": {
// 오버라이드 가능한 변수
"$update_string": "Hp:",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#hud_title_text_string" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not(#hud_title_text_string - $update_string) = #hud_title_text_string)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}]},
// ???/?? ??
"item_name_text_root/item_text_aligner/survival_buffer": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// "item_name_text_root/item_text_aligner/item_text_control": {
// "anims": [
// "@hud.anim_item_name_background_size"
// ]
// },
"hud_actionbar_text": {
// 사용할 이미지 경로
"texture": ""
},
// "anim_item_name_background_size": {
// "anim_type": "wait",
// "duration": "$wait_duration",
// "next": "@hud.anim_item_name_background_size_out"
// },
// "anim_item_name_background_size_out": {
// "anim_type": "size",
// "easing": "in_expo",
// "duration": 2,
// "from": [ "100%cm", "100%cm" ],
// "to": [ "0%cm", "0%cm" ],
// "destroy_at_end": "$destroy_id"
// },
// "anim_item_name_text_alpha_out": {
// "anim_type": "alpha",
// "easing": "in_expo",
// "destroy_at_end": "nolmaoscrewyou",
// "duration": 2,
// "from": 1.0,
// "to": 0
// },
"koala_title_data_control": {
// 오버라이드 가능한 변수
"$update_string": "Hp:",
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#hud_title_text_string" },
{ "binding_name": "#hud_title_text_string",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#preserved_text",
// ?? ???
"binding_condition": "visibility_changed",
"resolve_ancestor_scope": true
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#hud_title_text_string = #preserved_text) and not ((#hud_title_text_string - $update_string) = #hud_title_text_string))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}]},
// ???/?? ??
"heart_renderer": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"armor_renderer": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"hunger_renderer": {
// 완전히 제거(공간도 없음)
"ignored": true
},
// ???/?? ??
"exp_progress_bar_and_hotbar_pocket/resizing_xp_bar_with_hotbar/progress_text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 기준점에서 이동하는 거리
"offset": [ 0, 7 ]
},
// ???/?? ??
"exp_progress_bar_and_hotbar/resizing_xp_bar_with_hotbar/progress_text_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 기준점에서 이동하는 거리
"offset": [ 0, 7 ]
},
// ???/?? ??
"exp_progress_bar_and_hotbar": {
// ?? ?? ??
"modifications": [
{ "array_name": "controls",
// ?? ??
"operation": "remove",
// ??? ???
"control_name": "item_text_factory"
},
{ "array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{ "item_text_element@runeui-gameplay.item_text_element": {}}
]}
]
},
// ???/?? ??
"exp_progress_bar_and_hotbar_pocket": {
// ?? ?? ??
"modifications": [
{ "array_name": "controls",
// ?? ??
"operation": "remove",
// ??? ???
"control_name": "item_text"
},
{ "array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{ "item_text_element@runeui-gameplay.item_text_element": {}}
]}
]},
// ???/?? ??
"root_panel": {
// ?? ?? ??
"modifications": [
{ "array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{ "koala_title_data_control@hud.koala_title_data_control": {}},
{ "core@runeui-gameplay.core_hud_element": {}},
{ "skill_interface@runeui-skill_interface.root_panel": {}},
{ "notif_toast@runeui-notif_toast.root_panel": {}}
]}
]}}
필요한 부분만 참고해서 가져가세요.
// 예제: progress_screen.json
// 분류: UI 재료 모음 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{ "world_loading_progress_screen": {
// 오버라이드 가능한 변수
"$screen_bg_content": "runeui-preload.root_panel"
}}
필요한 부분만 참고해서 가져가세요.
// 예제: server_form.json
// 분류: UI 재료 모음 / 기본
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{ "namespace": "server_form",
// 다른 템플릿을 가져와서 확장(상속)
"third_party_server_screen@common.base_screen": {
// 오버라이드 가능한 변수
"$pos_to": [ 0, 0 ],
// 오버라이드 가능한 변수
"$pos_from": [ 0, 25 ],
// 오버라이드 가능한 변수
"$screen_animations": [
"@common.screen_exit_animation_push_fade",
"@common.screen_exit_animation_pop_fade",
"@common.screen_entrance_animation_push_fade",
"@common.screen_entrance_animation_pop_fade",
"@runeui-common.screen_entrance_anim_push",
"@runeui-common.screen_entrance_anim_pop",
"@runeui-common.screen_outro_anim_push",
"@runeui-common.screen_outro_anim_pop"
]},
// ???/?? ??
"long_form": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// ?? ?? ??
"modifications": [
{ "array_name": "bindings",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{ "binding_name": "#title_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#title_text - 'herblore.potionSelection.title' - 'prayer.title' - 'herblore.decant.title' - 'smelting.title' - 'salvage.title' - 'fuel.title' - 'smith.title' - 'repair.title' - 'noting_table.note.title' - 'noting_table.unnote.title' - 'PLACEHOLDER') = #title_text)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}]
}]
},
// ???/?? ??
"custom_form": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// ?? ?? ??
"modifications": [
{ "array_name": "bindings",
// ?? ??
"operation": "insert_back",
// ??? ?
"value": [
{ "binding_name": "#title_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#title_text - 'herblore.potionSelection.title' - 'herblore.decant.title' - 'repair_amount.title' - 'smelting.title' - 'smith.title' - 'noting_table.amount_selection') = #title_text)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}]
}]
},
// ???/?? ??
"main_screen_content": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// ?? ?? ??
"modifications": [
{ "array_name": "controls",
// ?? ??
"operation": "insert_front",
// ??? ?
"value": [
{ "server_form_factory": {
// 리스트를 자동으로 생성하는 공장
"type": "factory",
// 팩토리 템플릿 매핑
"control_ids": {
"long_form": "@runeui-form.long_form",
"custom_form": "@runeui-form.custom_form"
}}}
]}
]},
// ???/?? ??
"dynamic_button": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": ["100%", 32],
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 이 안에 들어가는 부품 목록
"controls":[
{
// ???/?? ??
"panel_name": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [34, "100%c"],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "image",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "(not (#texture = ''))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// ???/?? ??
"image": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 가로/세로 크기
"size": [32, 32],
// 기준점에서 이동하는 거리
"offset": [0, 0],
// 게임 값과 연결하는 규칙 목록
"bindings":[
{
// 가져올 값 이름
"binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 가져올 값 이름
"binding_name": "#form_button_texture_file_system",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{
// 계산/조건 결과를 연결
"binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#texture = '') or (#texture = 'loading')))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"progress@progress.progress_loading_bars": {
// 가로/세로 크기
"size": [30, 4],
// 기준점에서 이동하는 거리
"offset": [-2, 16],
// 게임 값과 연결하는 규칙 목록
"bindings":[
{
// 계산/조건 결과를 연결
"binding_type": "view",
"source_control_name": "image",
"resolve_sibling_scope": true,
// 계산식/참조 값
"source_property_name": "(#texture = 'loading')",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]
}
}
]
}
},
{ "button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 가로/세로 크기
"size": [ "fill", 32 ],
// 오버라이드 가능한 변수
"$button_text": "#form_button_text",
// 오버라이드 가능한 변수
"$button_text_binding_type": "collection",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "form_buttons",
// 오버라이드 가능한 변수
"$button_text_max_size": [ "100%", 20 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{
// 목록 인덱스/현재 항목 정보 제공
"binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
}
],
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"default@$button_state_panel": {
// 오버라이드 가능한 변수
"$new_ui_button_texture": "$default_button_texture",
// 오버라이드 가능한 변수
"$text_color": "$default_text_color",
// 오버라이드 가능한 변수
"$secondary_text_color": "$light_button_secondary_default_text_color",
// 오버라이드 가능한 변수
"$content_alpha": "$default_content_alpha",
// 오버라이드 가능한 변수
"$border_color": "$light_border_default_color",
// 오버라이드 가능한 변수
"$border_layer": 2,
// 오버라이드 가능한 변수
"$default_state": true,
// 오버라이드 가능한 변수
"$button_alpha": "$default_button_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"hover@$button_state_panel": {
// 오버라이드 가능한 변수
"$new_ui_button_texture": "$hover_button_texture",
// 오버라이드 가능한 변수
"$text_color": "$hover_text_color",
// 오버라이드 가능한 변수
"$secondary_text_color": "$light_button_secondary_hover_text_color",
// 오버라이드 가능한 변수
"$content_alpha": 1,
// 오버라이드 가능한 변수
"$border_color": "$light_border_hover_color",
// 오버라이드 가능한 변수
"$border_layer": 4,
// 오버라이드 가능한 변수
"$hover_state": true,
// 오버라이드 가능한 변수
"$button_alpha": "$default_hover_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 이 안에 들어가는 부품 목록
"controls": [
{ "outline": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// 사용할 이미지 경로
"texture": "textures/ui/White"
}},
{ "text_hover": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
"follows_cursor": true,
"always_handle_pointer": true,
"always_listen_to_input": true,
"allow_clipping": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 120,
// 이 안에 들어가는 부품 목록
"controls": [
{ "label_core": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#form_button_text",
"shadow": true,
// 기준점에서 이동하는 거리
"offset": [ "60%", 0 ],
"max_size": [ 220, "default" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -10,
// 가로/세로 크기
"size": [ "100% + 9px", "100% + 6px" ],
// 사용할 이미지 경로
"texture": "textures/ui/general_textbox"
}},
{ "shadow": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -11,
// ???
"alpha": 0.5,
// 가로/세로 크기
"size": [ "100% + 9px", "100% + 6px" ],
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// 기준점에서 이동하는 거리
"offset": [ 2, 2 ]
}}
]}}
]}}
]}},
{
// 다른 템플릿을 가져와서 확장(상속)
"pressed@$button_state_panel": {
// 오버라이드 가능한 변수
"$new_ui_button_texture": "$pressed_button_texture",
// 오버라이드 가능한 변수
"$text_color": "$pressed_text_color",
// 오버라이드 가능한 변수
"$secondary_text_color": "$light_button_secondary_pressed_text_color",
// 오버라이드 가능한 변수
"$button_offset|default": "$button_pressed_offset",
// 오버라이드 가능한 변수
"$content_alpha": "$pressed_alpha",
// 오버라이드 가능한 변수
"$border_color": "$light_border_pressed_color",
// 오버라이드 가능한 변수
"$border_layer": 5,
// 오버라이드 가능한 변수
"$pressed_state": true,
// 오버라이드 가능한 변수
"$button_alpha": "$default_pressed_alpha",
// 겹치는 순서(숫자 클수록 위)
"layer": 5
}
},
{
// 다른 템플릿을 가져와서 확장(상속)
"locked@$button_state_panel": {
// 오버라이드 가능한 변수
"$new_ui_button_texture": "$locked_button_texture",
// 오버라이드 가능한 변수
"$text_color": "$locked_text_color",
// 오버라이드 가능한 변수
"$secondary_text_color": "$light_button_secondary_locked_text_color",
// 오버라이드 가능한 변수
"$content_alpha": "$locked_alpha",
// 오버라이드 가능한 변수
"$border_color": "$light_border_locked_color",
// 오버라이드 가능한 변수
"$button_image": "common_buttons.locked_button_image",
// 오버라이드 가능한 변수
"$border_layer": 1,
// 오버라이드 가능한 변수
"$locked_state": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}
}
]}}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: brewing_table.json
// 분류: UI 재료 모음 / .runeui
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "runeui-brewing_table",
// ???/?? ??
"element_modal": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$runeui:form_condition": "(not((#title_text - 'herblore.potionSelection.title' - 'herblore.decant.title') = #title_text))",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#title_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "$runeui:form_condition",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "gradient@runeui-common.gradient_background": {}},
{ "modal@runeui-form.main_panel_no_buttons": {
// 가로/세로 크기
"size": [ 236, 200 ],
// 오버라이드 가능한 변수
"$title_text_color": [ 0.756, 0.466, 0.929 ],
// 오버라이드 가능한 변수
"$panel_indent_size": [ "100% - 6px", "100% - 26px" ],
// 오버라이드 가능한 변수
"$panel_indent_offset": [ 0, 23 ],
// 오버라이드 가능한 변수
"$custom_background": "runeui-brewing_table.dialog",
// 오버라이드 가능한 변수
"$rc_template": "runeui-brewing_table.scrolling_panel_modal",
// 오버라이드 가능한 변수
"$rc_custom_background": "runeui-brewing_table.background",
// 오버라이드 가능한 변수
"$rc_custom_background_size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}}
]},
// ???/?? ??
"element": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$runeui:form_condition": "(not((#title_text - 'herblore.potionSelection.title' - 'herblore.decant.title') = #title_text))",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#title_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "$runeui:form_condition",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "gradient@runeui-common.gradient_background": {}},
{ "form@runeui-form.main_panel_no_buttons": {
// 가로/세로 크기
"size": [ 236, 200 ],
// 오버라이드 가능한 변수
"$title_text_color": [ 0.756, 0.466, 0.929 ],
// 오버라이드 가능한 변수
"$panel_indent_size": [ "100% - 6px", "100% - 26px" ],
// 오버라이드 가능한 변수
"$panel_indent_offset": [ 0, 23 ],
// 오버라이드 가능한 변수
"$custom_background": "runeui-brewing_table.dialog",
// 오버라이드 가능한 변수
"$rc_template": "runeui-brewing_table.scrolling_panel",
// 오버라이드 가능한 변수
"$rc_custom_background": "runeui-brewing_table.background",
// 오버라이드 가능한 변수
"$rc_custom_background_size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}}
]},
// 다른 템플릿을 가져와서 확장(상속)
"dialog@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-brewing_table.dialog_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// 다른 템플릿을 가져와서 확장(상속)
"background@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-brewing_table.background_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// ???/?? ??
"background_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "background_gradient@runeui-common.gradient_background_black": {}},
{ "panel_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/brewing_table/brewing_background",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이미지 반복 여부
"tiled": true
}}
]},
// ???/?? ??
"dialog_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{ "toolbar@runeui-form.form_style_toolbar": {
// 오버라이드 가능한 변수
"$runeui:custom_toolbar": true,
// 오버라이드 가능한 변수
"$runeui:help_button": false,
// 오버라이드 가능한 변수
"$runeui:custom_toolbar_content": "runeui-brewing_table.info_extra"
}},
{ "styler@runeui-form.form_style_main": {}},
{ "divider@runeui-common.title_bar_divider": {}},
{ "decent_button@runeui-brewing_table.decent_button": {}}
]},
// ???/?? ??
"info_extra": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{ "help_brewing@runeui-common.off_dialog": {
// 오버라이드 가능한 변수
"$rc_hover_word": "runeui.help.brewingtable",
// 오버라이드 가능한 변수
"$rc_offdialog_offset": [ -19, 3 ],
// 오버라이드 가능한 변수
"$rc_offdialog_content": "runeui-common.help_button",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#title_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#title_text - 'herblore.potionSelection.title') = #title_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}]
}},
{ "help_decanting@runeui-common.off_dialog": {
// 오버라이드 가능한 변수
"$rc_hover_word": "runeui.help.decantingtable",
// 오버라이드 가능한 변수
"$rc_offdialog_offset": [ -19, 3 ],
// 오버라이드 가능한 변수
"$rc_offdialog_content": "runeui-common.help_button",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#title_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#title_text - 'herblore.decant.title') = #title_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}]
}}
]},
// ???/?? ??
"decent_button": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 가로/세로 크기
"size": [ 15, 15 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [ -40, 3 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 목록 아이템을 자동으로 생성
"factory":{
"name": "buttons",
// ??? ???
"control_name": "runeui-brewing_table.decent_button_core"
},
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}]},
// ???/?? ??
"decent_button_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 게임 값과 연결하는 규칙 목록
"bindings":[
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#form_button_text - 'herblore.decant.title') = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 오버라이드 가능한 변수
"$button_text_binding_type": "collection",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "form_buttons",
// 오버라이드 가능한 변수
"$button_text_max_size": [ "100%", 20 ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$focus_border_size_override": [ 0, 0 ],
// 오버라이드 가능한 변수
"$button_type_panel": "runeui-brewing_table.crafting_icon",
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$default_text_color": [ 0.85, 0.85, 0.85 ],
// 오버라이드 가능한 변수
"$hover_text_color": "$dark_button_hover_text_color",
// 오버라이드 가능한 변수
"$pressed_text_color": "$dark_button_pressed_text_color",
// 오버라이드 가능한 변수
"$locked_text_color": "$dark_button_locked_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
}]
}}
]},
// 다른 템플릿을 가져와서 확장(상속)
"crafting_icon@runeui-common.help_button_default": {
// 사용할 이미지 경로
"texture": "textures/ui/crafting_icon_1",
// 가로/세로 크기
"size": [ 12, 12 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -1 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "item_details_label": {
// 완전히 제거(공간도 없음)
"ignored": "(not($hover_state or $pressed_state))",
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#form_button_text",
// ?? ??
"text_alignment": "left",
"max_size": [ 300, "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 200,
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 19 ],
"shadow": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -10,
// 가로/세로 크기
"size": [ "100% + 14px", "100% + 12px" ],
// 사용할 이미지 경로
"texture": "textures/ui/general_textbox"
}},
{ "shadow": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -11,
// ???
"alpha": 0.5,
// 가로/세로 크기
"size": [ "100% + 14px", "100% + 12px" ],
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// 기준점에서 이동하는 거리
"offset": [ 2, 2 ]
}}
]}}
]},
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@runeui-form.long_form_scrolling_panel": {
// 오버라이드 가능한 변수
"$scrolling_content": "runeui-brewing_table.scrolling_content"
},
// ??? ??
"scrolling_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
"use_child_anchors": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "padding_00": { "type": "panel", "size": [ "100%", 3 ]}},
{ "label_offset_panel@runeui-common.dialog_box": {}},
{ "padding": { "type": "panel", "size": [ "100%", 10 ]}},
{ "wrapping_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 12px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "element@runeui-form.element_factory": {
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-brewing_table.grid_button_panel_padding",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
}}
]}}
]},
// ???/?? ??
"grid_button_panel_padding": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"grid_item_template": "runeui-common.grid_button_core",
"grid_rescaling_type": "horizontal",
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#form_button_length - 1)",
// 결과가 들어갈 속성
"target_property_name": "#maximum_grid_items"
}
]},
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel_modal@runeui-form.custom_form_panel": {
// 오버라이드 가능한 변수
"$scrolling_content": "runeui-brewing_table.scrolling_modal"
},
// ???/?? ??
"scrolling_modal": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
"use_child_anchors": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "padding": { "type": "panel", "size": [ "100%", 3 ]}},
{ "generated_form@runeui-form.generated_contents": {}},
{ "submit_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.submit_custom_form",
// 가로/세로 크기
"size": [ "100% - 8px", 32 ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$default_text_color": [ 0.85, 0.85, 0.85 ],
// 오버라이드 가능한 변수
"$hover_text_color": "$dark_button_hover_text_color",
// 오버라이드 가능한 변수
"$pressed_text_color": "$dark_button_pressed_text_color",
// 오버라이드 가능한 변수
"$locked_text_color": "$dark_button_locked_text_color",
// 오버라이드 가능한 변수
"$button_text": "Craft!",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#submit_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}]
}}
]}
}
필요한 부분만 참고해서 가져가세요.
// 예제: chat_filter.json
// 분류: UI 재료 모음 / .runeui
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "runeui-chat_filter",
// ???/?? ??
"messages_text_core": {
// 오버라이드 가능한 변수
"$runeui:text_offset": [ 0, 0 ],
// 글자 표시
"type": "label",
// ?? (R,G,B,A)
"color": "$chat_text_color",
"localize": false,
// 기준점에서 이동하는 거리
"offset": "$runeui:text_offset",
// 가로/세로 크기
"size": [ "100%", "default" ],
// 보여줄 글자
"text": "#output_display",
"text_tts": "#output_display",
// ??
"font_type": "$chat_font_type",
// ?? ?? ??
"font_scale_factor": "$chat_font_scale_factor",
"line_padding": "$chat_line_spacing"
},
// ???/?? ??
"label_states": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 13 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "new_ui_binding_button_label": {
// 글자 표시
"type": "label",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 보여줄 글자
"text": "$button_text",
// ?? (R,G,B,A)
"color": "$text_color",
// ?? ??
"text_alignment": "center",
"shadow": false,
// 가로/세로 크기
"size": [ "100%", 10 ]
}}
// { "gradient_background": {
// "ignored": "($pressed_state)",
// "type": "custom",
// "renderer": "gradient_renderer",
// "layer": 1,
// "size": [ "100% + 4px", "100%" ],
// "color1": [ 1, 0, 0, 0.2 ],
// "color2": [ 1, 0, 0, 0.7 ]
// }},
// { "gradient_background": {
// "ignored": "(not $pressed_state)",
// "type": "custom",
// "renderer": "gradient_renderer",
// "layer": 1,
// "size": [ "100% + 4px", "100%" ],
// "color1": [ 0, 1, 0, 0.2 ],
// "color2": [ 0, 1, 0, 0.7 ]
// }}
]},
// 다른 템플릿을 가져와서 확장(상속)
"toggle_template@common_toggles.light_ui_toggle": {
// 가로/세로 크기
"size": [ "fill", 20 ],
// 오버라이드 가능한 변수
"$default_text_color": [ 0.7, 0.7, 0.7 ],
// 오버라이드 가능한 변수
"$hover_text_color": "$dark_toggle_hover_text_color",
// 오버라이드 가능한 변수
"$default_checked_text_color": "$dark_toggle_checked_default_text_color",
// 오버라이드 가능한 변수
"$hover_checked_text_color": "$dark_toggle_checked_hover_text_color",
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$default_texture": "textures/ui/form_tab_back_full",
// 오버라이드 가능한 변수
"$hover_texture": "textures/ui/form_tab_front",
// 오버라이드 가능한 변수
"$pressed_texture": "textures/ui/form_tab_front",
// 오버라이드 가능한 변수
"$pressed_no_hover_texture": "textures/ui/form_tab_front_hover",
// 오버라이드 가능한 변수
"$default_border_visible": false,
// 오버라이드 가능한 변수
"$hover_border_visible": false
},
// 다른 템플릿을 가져와서 확장(상속)
"exp_toggle@toggle_template": {
// 오버라이드 가능한 변수
"$button_type_panel": "runeui-chat_filter.label_states",
// 오버라이드 가능한 변수
"$button_text|default": "%runeui.chat.experience_filter",
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "rcui-exp_chat",
// 오버라이드 가능한 변수
"$toggle_name": "exp_chat"
},
// 다른 템플릿을 가져와서 확장(상속)
"normal_toggle@toggle_template": {
// 오버라이드 가능한 변수
"$button_type_panel": "runeui-chat_filter.label_states",
// 오버라이드 가능한 변수
"$button_text|default": "%runeui.chat.chat_filter",
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "rcui-normal_chat",
// 오버라이드 가능한 변수
"$toggle_name": "normal_chat"
},
// 다른 템플릿을 가져와서 확장(상속)
"notif_toggle@toggle_template": {
// 오버라이드 가능한 변수
"$button_type_panel": "runeui-chat_filter.label_states",
// 오버라이드 가능한 변수
"$button_text|default": "%runeui.chat.notification.filter",
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "rcui-notif_chat",
// 오버라이드 가능한 변수
"$toggle_name": "notif_chat"
},
// ???/?? ??
"chat_bottom_panel_filter": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -27 ],
// 가로/세로 크기
"size": [ "100%", 20 ],
"min_size": [ "100%", 20 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "normal_toggle@runeui-chat_filter.normal_toggle": {} },
{ "exp_toggle@runeui-chat_filter.exp_toggle": {} },
{ "notif_toggle@runeui-chat_filter.notif_toggle": {} }
]}
}
필요한 부분만 참고해서 가져가세요.
// 예제: common.json
// 분류: UI 재료 모음 / .runeui
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "runeui-common",
// ???/?? ??
"outline_fade_starter": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "out_cubic",
// 걸리는 시간(초)
"duration": 1,
// 시작 값
"from": 0.0,
// 끝 값
"to": 1.0,
// 다음 애니메이션으로 연결
"next": "@runeui-common.outline_fade_0"
},
// ???/?? ??
"outline_fade_0": {
// 투명도 변화
"anim_type": "alpha",
// 걸리는 시간(초)
"duration": 2,
// 움직임 곡선
"easing": "in_out_sine",
// 시작 값
"from": 1,
// 끝 값
"to": 0.6,
// 다음 애니메이션으로 연결
"next": "@runeui-common.outline_fade_1"
},
// ???/?? ??
"outline_fade_1": {
// 투명도 변화
"anim_type": "alpha",
// 걸리는 시간(초)
"duration": 2,
// 움직임 곡선
"easing": "in_out_sine",
// 시작 값
"from": 0.6,
// 끝 값
"to": 1,
// 다음 애니메이션으로 연결
"next": "@runeui-common.outline_fade_0"
},
// ???/?? ??
"screen_outro_anim_push": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "in_cubic",
// 걸리는 시간(초)
"duration": "$transition_time_push",
// 시작 값
"from": "$pos_to",
// 끝 값
"to": "$pos_from",
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
// ???/?? ??
"screen_outro_anim_pop": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "in_cubic",
// 걸리는 시간(초)
"duration": "$transition_time_pop",
// 시작 값
"from": "$pos_to",
// 끝 값
"to": "$pos_from",
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
// ???/?? ??
"screen_entrance_animation_push_fade": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "out_cubic",
// 걸리는 시간(초)
"duration": "$transition_time_push",
// 시작 값
"from": 0.0,
// 끝 값
"to": 1.0,
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"screen_entrance_animation_pop_fade": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "out_cubic",
// 걸리는 시간(초)
"duration": "$transition_time_pop",
// 시작 값
"from": 1.0,
// 끝 값
"to": 0.0,
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"screen_entrance_anim_push": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "out_expo",
// 걸리는 시간(초)
"duration": "$transition_time_push",
// 시작 값
"from": "$pos_from",
// 끝 값
"to": "$pos_to",
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
// ???/?? ??
"screen_entrance_anim_pop": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "out_expo",
// 걸리는 시간(초)
"duration": "$transition_time_pop",
// 시작 값
"from": "$pos_from",
// 끝 값
"to": "$pos_to",
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
// Can't optimize this so i just fetch it from the forms.
// The '$dialog_text' can't be binding.
"dialog_box": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$dialog_size",
// 오버라이드 가능한 변수
"$dialog_text|default": "#form_text",
// 오버라이드 가능한 변수
"$dialog_size|default": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "main_label": {
// 글자 표시
"type": "label",
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 가로/세로 크기
"size": [ "100% - 6px", "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
"shadow": true,
// 보여줄 글자
"text": "$dialog_text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "$dialog_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ($dialog_text = ''))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100% + 20px", "100% + 6px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 기준점에서 이동하는 거리
"offset": [ -2, 0 ],
// 사용할 이미지 경로
"texture": "textures/ui/solid_textbox"
}}
]}}
]},
// ???/?? ??
"gradient_background": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "gradient_renderer",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ "125%", "125%" ],
// 오버라이드 가능한 변수
"$rc_gradient_color1|default": [ 0.756, 0.466, 0.929, 0 ],
// 오버라이드 가능한 변수
"$rc_gradient_color2|default": [ 0.756, 0.466, 0.929, 0.7 ],
"color1": "$rc_gradient_color1",
"color2": "$rc_gradient_color2",
// 애니메이션 목록
"anims": [
"@runeui-common.loop_test_1"
]
},
// ???/?? ??
"loop_test_0": {
// 투명도 변화
"anim_type": "alpha",
// 걸리는 시간(초)
"duration": 2,
// 움직임 곡선
"easing": "in_out_sine",
// 시작 값
"from": 1,
// 끝 값
"to": 0.6,
// 다음 애니메이션으로 연결
"next": "@runeui-common.loop_test_1"
},
// ???/?? ??
"loop_test_1": {
// 투명도 변화
"anim_type": "alpha",
// 걸리는 시간(초)
"duration": 2,
// 움직임 곡선
"easing": "in_out_sine",
// 시작 값
"from": 0.6,
// 끝 값
"to": 1,
// 다음 애니메이션으로 연결
"next": "@runeui-common.loop_test_0"
},
// ???/?? ??
"gradient_background_black": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "gradient_renderer",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 오버라이드 가능한 변수
"$rc_gradient_color2|default": [ 0.756, 0.466, 0.929, 0 ],
// 오버라이드 가능한 변수
"$rc_gradient_color1|default": [ 0.756, 0.466, 0.929, 0.7 ],
"color1": "$rc_gradient_color1",
"color2": "$rc_gradient_color2"
},
// ???/?? ??
"background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "150%", "150%" ],
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// ???
"alpha": 0.7,
// 겹치는 순서(숫자 클수록 위)
"layer": -120
},
// ???/?? ??
"off_dialog": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 가로/세로 크기
"size": [ 15, 15 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 기준점에서 이동하는 거리
"offset": "$rc_offdialog_offset",
// 오버라이드 가능한 변수
"$rc_offdialog_offset|default": [ -3, 3 ],
// 오버라이드 가능한 변수
"$rc_offdialog_content|default": "",
// 이 안에 들어가는 부품 목록
"controls": [
{ "dialogue_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/general_form",
// 겹치는 순서(숫자 클수록 위)
"layer": -2
}},
{ "template@$rc_offdialog_content": {}}
]},
// 다른 템플릿을 가져와서 확장(상속)
"help_button@common_toggles.light_ui_toggle": {
// 가로/세로 크기
"size": [ 15, 15 ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$default_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$hover_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$pressed_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$pressed_no_hover_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$default_border_visible": false,
// 오버라이드 가능한 변수
"$hover_border_visible": false,
// 오버라이드 가능한 변수
"$button_type_panel": "runeui-common.help_states",
// 오버라이드 가능한 변수
"$button_text|default": "%runeui.chat.notification.filter",
// 오버라이드 가능한 변수
"$toggle_view_binding_name": "rcui-help_state",
// 오버라이드 가능한 변수
"$toggle_name": "help_state"
},
// ???/?? ??
"help_states": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", 13 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "label": {
// 글자 표시
"type": "label",
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 보여줄 글자
"text": "?",
// 오버라이드 가능한 변수
"$rc_label_color|default": [ 1, 1, 1 ],
// ?? (R,G,B,A)
"color": "$rc_label_color",
// 조건에 따라 변수 값을 바꾸기
"variables": [
{ "requires": "$pressed_state",
// 오버라이드 가능한 변수
"$rc_label_color": "$e_color_format"
}]
}},
{ "item_details_label": {
// 완전히 제거(공간도 없음)
"ignored": "(not $pressed_state)",
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "$rc_hover_word",
// ?? ??
"text_alignment": "left",
"max_size": [ 300, "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 200,
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ -92, 25 ],
"shadow": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "background": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -10,
// 가로/세로 크기
"size": [ "100% + 14px", "100% + 12px" ],
// 사용할 이미지 경로
"texture": "textures/ui/general_textbox"
}},
{ "shadow": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -11,
// ???
"alpha": 0.5,
// 가로/세로 크기
"size": [ "100% + 14px", "100% + 12px" ],
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// 기준점에서 이동하는 거리
"offset": [ 2, 2 ]
}}
]}}
]},
// ???/?? ??
"help_button_default": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/form_button",
// 이 안에 들어가는 부품 목록
"controls": [
{ "label": {
// 글자 표시
"type": "label",
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 보여줄 글자
"text": "?"
}}
]},
// ???/?? ??
"close_button_default": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/form_button",
// 이 안에 들어가는 부품 목록
"controls": [
{ "image": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 16, 16 ],
// 사용할 이미지 경로
"texture": "textures/ui/close_X_button"
}}
]},
// 다른 템플릿을 가져와서 확장(상속)
"close_button_pressed@runeui-common.close_button_default": {
// 사용할 이미지 경로
"texture": "textures/ui/form_button_pressed",
// 이 안에 들어가는 부품 목록
"controls": [
{ "image": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 16, 16 ],
// 사용할 이미지 경로
"texture": "textures/ui/close_X_button_hover"
}}
]},
// 다른 템플릿을 가져와서 확장(상속)
"close_button@common.button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.menu_exit",
// 가로/세로 크기
"size": [ 15, 15 ],
// 포커스 가능 여부
"focus_enabled": false,
// 이 안에 들어가는 부품 목록
"controls": [
{ "default@runeui-common.close_button_default": {} },
{ "hover@runeui-common.close_button_pressed": {} },
{ "pressed@runeui-common.close_button_pressed": {} }
]},
// ???/?? ??
"grid_button_panel_core": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 오버라이드 가능한 변수
"$grid_dimensions|default": [ 6, 3 ],
// 그리드 칸 수
"grid_dimensions": "$grid_dimensions",
"grid_item_template": "runeui-common.grid_button_core",
// 목록 이름
"collection_name": "form_buttons"
},
// ???/?? ??
"grid_button_panel_padding": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"grid_item_template": "runeui-common.grid_button_core",
"grid_fill_direction": "horizontal",
"grid_rescaling_type": "horizontal",
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#form_button_length - 1)",
// 결과가 들어갈 속성
"target_property_name": "#maximum_grid_items"
}
]},
// ???/?? ??
"grid_button_panel": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"grid_item_template": "runeui-common.grid_button_core",
"grid_fill_direction": "horizontal",
"grid_rescaling_type": "horizontal",
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#maximum_grid_items"
}
]},
// ???/?? ??
"grid_button_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 34, 34 ],
// 게임 값과 연결하는 규칙 목록
"bindings":[
{ "binding_name": "#form_button_texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#texture = '') or (#texture = 'loading')))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 32, 32 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "image": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 100,
// 가로/세로 크기
"size": [ "100% - 2px", "100% - 2px" ],
// 게임 값과 연결하는 규칙 목록
"bindings":[
{ "binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_name": "#form_button_texture_file_system",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#texture = '') or (#texture = 'loading')))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}]
}},
{ "outline": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 사용할 이미지 경로
"texture": "textures/ui/Black"
}},
{ "button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 오버라이드 가능한 변수
"$button_text": "#null",
// 오버라이드 가능한 변수
"$button_text_binding_type": "collection",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "form_buttons",
// 오버라이드 가능한 변수
"$button_text_max_size": [ "100%", 20 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "hover": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{ "outline": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// 사용할 이미지 경로
"texture": "textures/ui/White"
}},
{ "text_hover": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
"follows_cursor": true,
"always_handle_pointer": true,
"always_listen_to_input": true,
"allow_clipping": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 120,
// 이 안에 들어가는 부품 목록
"controls": [
{ "label_core": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#form_button_text",
"shadow": true,
// 기준점에서 이동하는 거리
"offset": [ "60%", 0 ],
"max_size": [ 220, "default" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -10,
// 가로/세로 크기
"size": [ "100% + 9px", "100% + 6px" ],
// 사용할 이미지 경로
"texture": "textures/ui/general_textbox"
}},
{ "shadow": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -11,
// ???
"alpha": 0.5,
// 가로/세로 크기
"size": [ "100% + 9px", "100% + 6px" ],
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// 기준점에서 이동하는 거리
"offset": [ 2, 2 ]
}}
]}}
]}}
]}}
]}}
]}}
]},
// ???/?? ??
"standard_title_label": {
// 글자 표시
"type": "label",
// 가로/세로 크기
"size": "$title_size",
// 기준점에서 이동하는 거리
"offset": "$title_offset",
"max_size": "$title_size",
// ?? (R,G,B,A)
"color": "$title_text_color",
// 보여줄 글자
"text": "$title_text",
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
"shadow": true,
// ?? ??
"text_alignment": "$title_alignment",
// 오버라이드 가능한 변수
"$title_size|default": [ "100% - 16px", 10 ],
// 오버라이드 가능한 변수
"$title_offset|default": [ 0, 6 ],
// 오버라이드 가능한 변수
"$title_alignment|default": "left",
// 오버라이드 가능한 변수
"$title_text|default": "#output",
// 오버라이드 가능한 변수
"$pos|default": "%.0s",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#title_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "('§z' + (#title_text - ($pos * #title_text)))",
// 결과가 들어갈 속성
"target_property_name": "#output"
}]},
// ???/?? ??
"title_bar_divider": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 1, 11 ],
// 기준점에서 이동하는 거리
"offset": [ -37, 5 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// ?? (R,G,B,A)
"color": "$title_text_color",
// 사용할 이미지 경로
"texture": "textures/ui/White"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: exp_toast.json
// 분류: UI 재료 모음 / .runeui
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "runeui-exp_toast",
// ???/?? ??
"root_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ 300, "100%c" ],
"max_size": [ 300, 50 ],
// 기준점에서 이동하는 거리
"offset": [ 0, -53 ],
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "factory_stack": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 가로/세로 크기
"size": [ 170, "100%c" ],
// 목록 아이템을 자동으로 생성
"factory": {
"name": "chat_item_factory",
"max_children_size": 10,
// 팩토리 템플릿 매핑
"control_ids": {
"chat_item": "runeui-exp_toast@runeui-exp_toast.element"
}}
}}
]},
// ???/?? ??
"element": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": -20,
// 가로/세로 크기
"size": [ 170, "100%cm" ],
// 기준점에서 이동하는 거리
"offset": [ 0, -1 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "@runeui-exp_toast.subbar": {}}
]},
// ???/?? ??
"subbar": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 170, 5 ],
//"propagate_alpha": true,
"layer": 10,
//"texture": "textures/ui/Black",
"alpha": 0.7,
// 애니메이션 목록
"anims": [
"@runeui-exp_toast.anim_chat_pile_up"
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#chat_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "chat_text_grid",
// ?? ???
"binding_condition": "once"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#text - '<' - '>')",
// 결과가 들어갈 속성
"target_property_name": "#output"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#output - '\ue1fd') = #output))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 200, "100%" ],
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// ???
"alpha": 0.7,
"propagate_alpha": true,
// 애니메이션 목록
"anims": [
"@runeui-exp_toast.anim_chat_bg_wait_bottom"
],
// 이 안에 들어가는 부품 목록
"controls": [
{ "gradient_background_left": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "gradient_renderer",
// 가로/세로 크기
"size": [ 30, "100%" ],
// 기준점에서 이동하는 거리
"offset": [ -30, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
"gradient_direction": "horizontal",
"color1": [ 0, 0, 0, 0 ],
"color2": [ 0, 0, 0, 1 ]
}},
{ "gradient_background_right": {
// 특수 렌더러(그라디언트/플레이어 등)
"type": "custom",
// 커스텀 렌더러 종류
"renderer": "gradient_renderer",
// 가로/세로 크기
"size": [ 30, "100%" ],
// 기준점에서 이동하는 거리
"offset": [ 30, 0 ],
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
"gradient_direction": "horizontal",
"color1": [ 0, 0, 0, 1 ],
"color2": [ 0, 0, 0, 0 ]
}}
]}},
{ "text_wrapper": {
// 클릭 가능한 버튼
"type": "button",
// 가로/세로 크기
"size": [ 170, "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#chat_text",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
"shadow": true,
// 기준점에서 이동하는 거리
"offset": [ 0, -1.5 ],
"localize": false,
// 가로/세로 크기
"size": [ 200, "default" ],
"enable_profanity_filter": true,
// ?? ?? ??
"font_scale_factor": 0.75,
// 애니메이션 목록
"anims": [ "@runeui-exp_toast.anim_chat_txt_wait" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "chat_text_grid"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "('§z' + (#text - (%.3s * #text)))",
// 결과가 들어갈 속성
"target_property_name": "#chat_text"
}]
}}
]}}
]},
// ???/?? ??
"anim_chat_pile_up": {
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "out_expo",
// 걸리는 시간(초)
"duration": 0.5,
// 시작 값
"from": [ 200, 0 ],
// 끝 값
"to": [ 200, 10 ]
},
// ???/?? ??
"anim_chat_bg_alpha_bottom": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_quart",
// 걸리는 시간(초)
"duration": 1,
// 시작 값
"from": 0.7,
// 끝 값
"to": 0
},
// ???/?? ??
"anim_chat_bg_wait_bottom": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 0.5,
// 다음 애니메이션으로 연결
"next": "@runeui-exp_toast.anim_chat_bg_alpha_bottom"
},
// ???/?? ??
"anim_chat_txt_alpha": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_quart",
// 걸리는 시간(초)
"duration": 0.7,
// 시작 값
"from": 1,
// 끝 값
"to": 0
},
// ???/?? ??
"anim_chat_txt_wait": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 1,
// 다음 애니메이션으로 연결
"next": "@runeui-exp_toast.anim_chat_txt_alpha"
},
// ???/?? ??
"progress_bar_anim": {
// 크기 변화
"anim_type": "size",
// 시작 값
"from": [ "0%", 1 ],
// 끝 값
"to": [ "100% - 8px", 1 ],
// 걸리는 시간(초)
"duration": "($chat_item_lifetime + 2)"
},
// ???/?? ??
"anim_chat_stack": {
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "out_expo",
// 걸리는 시간(초)
"duration": 0.5,
// 시작 값
"from": [ 180, 0 ],
// 끝 값
"to": [ 180, "100%c" ]
},
// ???/?? ??
"anim_chat_bg_pop": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "out_expo",
// 걸리는 시간(초)
"duration": 1,
// 시작 값
"from": [ "100%", 0 ],
// 끝 값
"to": [ 0, 0 ],
// 다음 애니메이션으로 연결
"next": "@runeui-exp_toast.anim_chat_bg_wait_push"
},
// ???/?? ??
"anim_chat_bg_wait_push": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 1,
// 다음 애니메이션으로 연결
"next": "@runeui-exp_toast.anim_chat_bg_push"
},
// ???/?? ??
"anim_chat_bg_push": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "in_expo",
// 걸리는 시간(초)
"duration": 1,
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ "100%", 0 ],
"destroy_at_end": "chat_grid_item"
},
// ???/?? ??
"toast_image_template": {
// 오버라이드 가능한 변수
"$arx:chat_image_binding|default": "#text",
// 이미지 표시
"type": "image",
"force_texture_reload": true,
"allow_debug_missing_texture": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#chat_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "chat_text_grid",
// ?? ???
"binding_condition": "once"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "$arx:chat_image_binding",
// 결과가 들어갈 속성
"target_property_name": "#texture"
}]},
// ???/?? ??
"toast_label_template": {
// 오버라이드 가능한 변수
"$arx:chat_text_binding|default": "#text",
// 글자 표시
"type": "label",
"max_size": [ "100% - 18px", 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#chat_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "chat_text_grid",
// ?? ???
"binding_condition": "once"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "$arx:chat_text_binding",
// 결과가 들어갈 속성
"target_property_name": "#displaytext"
}]}
}
필요한 부분만 참고해서 가져가세요.
// 예제: fletching_table.json
// 분류: UI 재료 모음 / .runeui
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "runeui-fletching_table",
// ???/?? ??
"element_modal": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$runeui:form_condition": "(not((#title_text - 'PLACEHOLDER') = #title_text))",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#title_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "$runeui:form_condition",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "gradient@runeui-common.gradient_background": {}},
{ "modal@runeui-form.main_panel_no_buttons": {
// 가로/세로 크기
"size": [ 236, 200 ],
// 오버라이드 가능한 변수
"$title_text_color": [ 0.756, 0.466, 0.929 ],
// 오버라이드 가능한 변수
"$panel_indent_size": [ "100% - 6px", "100% - 26px" ],
// 오버라이드 가능한 변수
"$panel_indent_offset": [ 0, 23 ],
// 오버라이드 가능한 변수
"$custom_background": "runeui-fletching_table.dialog",
// 오버라이드 가능한 변수
"$rc_template": "runeui-fletching_table.scrolling_panel_modal",
// 오버라이드 가능한 변수
"$rc_custom_background": "runeui-fletching_table.background",
// 오버라이드 가능한 변수
"$rc_custom_background_size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}}
]},
// ???/?? ??
"element": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$runeui:form_condition": "(not((#title_text - 'PLACEHOLDER') = #title_text))",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#title_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "$runeui:form_condition",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "gradient@runeui-common.gradient_background": {}},
{ "form_stacking": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 150, 200 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "filter@runeui-form.main_panel_no_buttons": {
// 가로/세로 크기
"size": [ 150, 146 ],
// 오버라이드 가능한 변수
"$runeuiDEBUGGER:filter_button_limit": 5, // ( 4 buttons - 1 padding )
// 오버라이드 가능한 변수
"$title_text_color": [ 0.756, 0.466, 0.929 ],
// 오버라이드 가능한 변수
"$title_text": "Filter",
// 오버라이드 가능한 변수
"$panel_indent_size": [ "100% - 6px", "100% - 26px" ],
// 오버라이드 가능한 변수
"$panel_indent_offset": [ 0, 23 ],
// 오버라이드 가능한 변수
"$custom_background": "runeui-fletching_table.dialog_filter",
// 오버라이드 가능한 변수
"$rc_template": "runeui-fletching_table.scrolling_panel_filter",
// 오버라이드 가능한 변수
"$rc_custom_background": "runeui-fletching_table.background_filter",
// 오버라이드 가능한 변수
"$rc_custom_background_size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}}
]}},
{ "form@runeui-form.main_panel_no_buttons": {
// 가로/세로 크기
"size": [ 236, 200 ],
// 오버라이드 가능한 변수
"$runeuiDEBUGGER:grid_button_hider": 4, // ( 4 buttons )
// 오버라이드 가능한 변수
"$title_text_color": [ 0.756, 0.466, 0.929 ],
// 오버라이드 가능한 변수
"$panel_indent_size": [ "100% - 6px", "100% - 26px" ],
// 오버라이드 가능한 변수
"$panel_indent_offset": [ 0, 23 ],
// 오버라이드 가능한 변수
"$custom_background": "runeui-fletching_table.dialog",
// 오버라이드 가능한 변수
"$rc_template": "runeui-fletching_table.scrolling_panel",
// 오버라이드 가능한 변수
"$rc_custom_background": "runeui-fletching_table.background",
// 오버라이드 가능한 변수
"$rc_custom_background_size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}}
]}}
]},
// 다른 템플릿을 가져와서 확장(상속)
"dialog@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-fletching_table.dialog_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// 다른 템플릿을 가져와서 확장(상속)
"background@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-fletching_table.background_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// 다른 템플릿을 가져와서 확장(상속)
"dialog_filter@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-fletching_table.dialog_filter_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// 다른 템플릿을 가져와서 확장(상속)
"background_filter@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-fletching_table.background_filter_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// ???/?? ??
"background_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "background_gradient@runeui-common.gradient_background_black": {}},
{ "panel_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/brewing_table/brewing_background",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이미지 반복 여부
"tiled": true
}}
]},
// ???/?? ??
"dialog_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{ "toolbar@runeui-form.form_style_toolbar": {
// 오버라이드 가능한 변수
"$runeui:help_button": false
}},
{ "styler@runeui-form.form_style_main": {}}
]},
// ???/?? ??
"background_filter_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "background_gradient@runeui-common.gradient_background_black": {}},
{ "panel_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/brewing_table/brewing_background",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 이미지 반복 여부
"tiled": true
}}
]},
// ???/?? ??
"dialog_filter_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{ "styler@runeui-form.form_style_main": {}}
]},
// ???/?? ??
"fletching_fliter": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 목록 아이템을 자동으로 생성
"factory":{
"name": "buttons",
// ??? ???
"control_name": "runeui-fletching_table.fletching_button"
},
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}]},
// 다른 템플릿을 가져와서 확장(상속)
"fletching_button@common_buttons.light_text_button": {
// 가로/세로 크기
"size": [ "100%", 30 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 오버라이드 가능한 변수
"$button_text": "#form_button_text",
// 오버라이드 가능한 변수
"$button_text_binding_type": "collection",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "form_buttons",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_tab_left",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_tab_left_hover",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_tab_left_hover",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_tab_left",
// 오버라이드 가능한 변수
"$default_text_color": [ 0.85, 0.85, 0.85 ],
// 오버라이드 가능한 변수
"$hover_text_color": "$dark_button_hover_text_color",
// 오버라이드 가능한 변수
"$pressed_text_color": "$dark_button_pressed_text_color",
// 오버라이드 가능한 변수
"$locked_text_color": "$dark_button_locked_text_color",
// 오버라이드 가능한 변수
"$button_offset": [ 0, -1 ],
"collection_index": "#collection_index_test",
// 게임 값과 연결하는 규칙 목록
"bindings":[
{ "binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_name": "#form_button_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_length - $runeuiDEBUGGER:filter_button_limit)",
// 결과가 들어갈 속성
"target_property_name": "#collection_limit"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#collection_index > #collection_limit)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}]
},
// ???/?? ??
"fletching_fliter_element": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 목록 이름
"collection_name": "form_buttons",
// 이 안에 들어가는 부품 목록
"controls": [
{ "panel_stacking": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 가로/세로 크기
"size": [ "100%", 120 ],
// 목록 이름
"collection_name": "form_buttons",
// 이 안에 들어가는 부품 목록
"controls": [
{ "fletching_fliter@fletching_fliter": {}}
]}}
]},
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel_filter@runeui-form.long_form_scrolling_panel": {
// 오버라이드 가능한 변수
"$scrolling_content": "runeui-fletching_table.scrolling_content_filter"
},
// ???/?? ??
"scrolling_content_filter": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{ "fletching_fliter_element@runeui-fletching_table.fletching_fliter_element": {}}
]},
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@runeui-form.long_form_scrolling_panel": {
// 오버라이드 가능한 변수
"$scrolling_content": "runeui-fletching_table.scrolling_content"
},
// ??? ??
"scrolling_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
"use_child_anchors": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "padding_00": { "type": "panel", "size": [ "100%", 3 ]}},
{ "label_offset_panel@runeui-common.dialog_box": {}},
{ "padding": { "type": "panel", "size": [ "100%", 10 ]}},
{ "wrapping_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 12px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "element@runeui-form.element_factory": {
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-fletching_table.grid_button_panel_padding",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
}}
]}}
]},
// ???/?? ??
"grid_button_panel_padding": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"grid_item_template": "runeui-common.grid_button_core",
"grid_rescaling_type": "horizontal",
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#form_button_length - $runeuiDEBUGGER:grid_button_hider)",
// 결과가 들어갈 속성
"target_property_name": "#maximum_grid_items"
}
]},
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel_modal@runeui-form.custom_form_panel": {
// 오버라이드 가능한 변수
"$scrolling_content": "runeui-fletching_table.scrolling_modal"
},
// ???/?? ??
"scrolling_modal": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
"use_child_anchors": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "padding": { "type": "panel", "size": [ "100%", 3 ]}},
{ "generated_form@runeui-form.generated_contents": {}},
{ "submit_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.submit_custom_form",
// 가로/세로 크기
"size": [ "100% - 8px", 32 ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$default_text_color": [ 0.85, 0.85, 0.85 ],
// 오버라이드 가능한 변수
"$hover_text_color": "$dark_button_hover_text_color",
// 오버라이드 가능한 변수
"$pressed_text_color": "$dark_button_pressed_text_color",
// 오버라이드 가능한 변수
"$locked_text_color": "$dark_button_locked_text_color",
// 오버라이드 가능한 변수
"$button_text": "Craft!",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#submit_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}]
}}
]}
}
필요한 부분만 참고해서 가져가세요.
// 예제: fuel_selection.json
// 분류: UI 재료 모음 / .runeui
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "runeui-fuel_selection",
// ???/?? ??
"element": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$runeui:form_condition": "(not((#title_text - 'fuel.title') = #title_text))",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#title_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "$runeui:form_condition",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "gradient@runeui-common.gradient_background": {
// 오버라이드 가능한 변수
"$rc_gradient_color1": [ 1.000, 0.333, 0.000, 0 ],
// 오버라이드 가능한 변수
"$rc_gradient_color2": [ 1.000, 0.333, 0.000, 0.7 ]
}},
{ "form@runeui-form.main_panel_no_buttons": {
// 가로/세로 크기
"size": [ 236, 200 ],
// 오버라이드 가능한 변수
"$title_text_color": [ 1.000, 0.333, 0.000 ],
// 오버라이드 가능한 변수
"$panel_indent_size": [ "100% - 6px", "100% - 26px" ],
// 오버라이드 가능한 변수
"$panel_indent_offset": [ 0, 23 ],
// 오버라이드 가능한 변수
"$pos": "%.7s",
// 오버라이드 가능한 변수
"$title_alignment": "left",
// 오버라이드 가능한 변수
"$custom_background": "runeui-fuel_selection.dialog",
// 오버라이드 가능한 변수
"$rc_template": "runeui-fuel_selection.scrolling_panel",
// 오버라이드 가능한 변수
"$rc_custom_background": "runeui-fuel_selection.background",
// 오버라이드 가능한 변수
"$rc_custom_background_size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}}
]},
// 다른 템플릿을 가져와서 확장(상속)
"dialog@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-fuel_selection.dialog_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// 다른 템플릿을 가져와서 확장(상속)
"background@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-fuel_selection.background_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// ???/?? ??
"background_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background_gradient@runeui-common.gradient_background_black": {
// 오버라이드 가능한 변수
"$rc_gradient_color1": [ 1.000, 0.333, 0.000, 0 ],
// 오버라이드 가능한 변수
"$rc_gradient_color2": [ 1.000, 0.333, 0.000, 0.7 ]
}},
{ "panel_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/form_body_background",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ?? (R,G,B,A)
"color": "$title_text_color",
// 이미지 반복 여부
"tiled": true
}}
]},
// ???/?? ??
"dialog_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{ "toolbar@runeui-form.form_style_toolbar": {
// 오버라이드 가능한 변수
"$rc_hover_word": "runeui.help.fuel"
}},
{ "styler@runeui-form.form_style_main": {}},
{ "debug_text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#output",
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
"shadow": true,
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [ -54, 6 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#title_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('§z') + (#title_text - ('%.3s' * #title_text)))",
// 결과가 들어갈 속성
"target_property_name": "#output"
}]
}},
{ "fuel_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/blocks/runecraft_furnace_active",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [ -38, 4.5 ],
// 가로/세로 크기
"size": [ 12, 12 ]
}},
{ "salvage_button@runeui-fuel_selection.salvage_button": {}},
{ "smelting_button@runeui-fuel_selection.smelting_button": {}},
{ "selected_tab@runeui-fuel_selection.selected_tab": {}}
]},
// ???/?? ??
"selected_tab": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "33.333%", 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [ 0, -19 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "locked_button@common_buttons.light_text_button": {
// ??/???
"enabled": false,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$button_text": "fuel.title",
// 오버라이드 가능한 변수
"$pressed_button_name": "",
// 오버라이드 가능한 변수
"$button_text_max_size": [ "100%", 20 ],
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_tab_front",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_tab_front_hover",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_tab_front_hover",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_tab_front",
// 오버라이드 가능한 변수
"$locked_text_color": [ 0.5, 0.5, 0.5 ]
}},
{ "outline": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 겹치는 순서(숫자 클수록 위)
"layer": -2,
// ???
"alpha": 0.5,
// 가로/세로 크기
"size": [ "100% + 2px", "100% - 1px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, -1.5 ],
// ?? (R,G,B,A)
"color": "$title_text_color",
// 애니메이션 목록
"anims": [ "@runeui-common.outline_fade_starter" ]
}}
]},
// ???/?? ??
"smelting_button": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 가로/세로 크기
"size": [ "33.333%", 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [ 0, -16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": -8,
// 목록 아이템을 자동으로 생성
"factory":{
"name": "buttons",
// ??? ???
"control_name": "runeui-fuel_selection.smelting_button_core"
},
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}]},
// 다른 템플릿을 가져와서 확장(상속)
"smelting_button_core@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 오버라이드 가능한 변수
"$button_text": "smelting.title",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_tab_back",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_tab_back_hover",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_tab_back_hover",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_tab_back",
// 오버라이드 가능한 변수
"$default_text_color": [ 0.85, 0.85, 0.85 ],
// 오버라이드 가능한 변수
"$hover_text_color": "$dark_button_hover_text_color",
// 오버라이드 가능한 변수
"$pressed_text_color": "$dark_button_pressed_text_color",
// 오버라이드 가능한 변수
"$locked_text_color": "$dark_button_locked_text_color",
// 오버라이드 가능한 변수
"$button_offset": [ 0, -1 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#form_button_text - 'smelting.title') = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}]
},
// ???/?? ??
"salvage_button": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 가로/세로 크기
"size": [ "33.333%", 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": -8,
// 목록 아이템을 자동으로 생성
"factory":{
"name": "buttons",
// ??? ???
"control_name": "runeui-fuel_selection.salvage_button_core"
},
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}]},
// 다른 템플릿을 가져와서 확장(상속)
"salvage_button_core@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 오버라이드 가능한 변수
"$button_text": "salvage.title",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_tab_back",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_tab_back_hover",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_tab_back_hover",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_tab_back",
// 오버라이드 가능한 변수
"$default_text_color": [ 0.85, 0.85, 0.85 ],
// 오버라이드 가능한 변수
"$hover_text_color": "$dark_button_hover_text_color",
// 오버라이드 가능한 변수
"$pressed_text_color": "$dark_button_pressed_text_color",
// 오버라이드 가능한 변수
"$locked_text_color": "$dark_button_locked_text_color",
// 오버라이드 가능한 변수
"$button_offset": [ 0, -1 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#form_button_text - 'salvage.title') = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}]
},
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@runeui-form.long_form_scrolling_panel": {
// 오버라이드 가능한 변수
"$scrolling_content": "runeui-fuel_selection.scrolling_content"
},
// ??? ??
"scrolling_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
"use_child_anchors": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "padding_00": { "type": "panel", "size": [ "100%", 3 ]}},
{ "label_offset_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "main_label": {
// 글자 표시
"type": "label",
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 가로/세로 크기
"size": [ "100% - 6px", "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
"shadow": true,
// 보여줄 글자
"text": "#form_text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#form_text = ''))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100% + 6px", "100% + 6px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 기준점에서 이동하는 거리
"offset": [ -2, 0 ],
// 사용할 이미지 경로
"texture": "textures/ui/solid_textbox"
}}
]}}
]}},
{ "padding": { "type": "panel", "size": [ "100%", 10 ]}},
{ "wrapping_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 12px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "element@runeui-form.element_factory": {
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-fuel_selection.grid_button_panel_padding",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
}}
]}}
]},
// ???/?? ??
"grid_button_panel_padding": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"grid_item_template": "runeui-common.grid_button_core",
"grid_rescaling_type": "horizontal",
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#form_button_length - 2)",
// 결과가 들어갈 속성
"target_property_name": "#maximum_grid_items"
}
]}
}
필요한 부분만 참고해서 가져가세요.
// 예제: gameplay.json
// 분류: UI 재료 모음 / .runeui
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{ "namespace": "runeui-gameplay",
// ???/?? ??
"core_hud_element": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#show_survival_ui",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "huds@runeui-gameplay.element_huds": {}},
{ "debugger@runeui-gameplay.debugger": {}}
]},
// ???/?? ??
"debugger": {
// 완전히 제거(공간도 없음)
"ignored": true,
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#textdebug",
"debug": "red",
// 오버라이드 가능한 변수
"$clip_texture_preserved": "%.24s",
// 오버라이드 가능한 변수
"$clip_preserved": "%.13s",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "view",
"source_control_name": "koala_title_data_control",
// 계산식/참조 값
"source_property_name": "#preserved_text",
// 결과가 들어갈 속성
"target_property_name": "#preserved_text"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('§z') + ('textures/ui/health_orb_fg' + (#preserved_text - ($clip_texture_preserved * #preserved_text))))",
// 결과가 들어갈 속성
"target_property_name": "#textures"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('§z') + ('%.2s' * ((#preserved_text - ('%.13s' * #preserved_text))))",
// 결과가 들어갈 속성
"target_property_name": "#texture"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#preserved_text - ($clip_preserved * #preserved_text))",
// 결과가 들어갈 속성
"target_property_name": "#clip_ratio_value"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#clip_ratio_value / 20)",
// 결과가 들어갈 속성
"target_property_name": "#clip_ratio"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('§z') + ( #textures ))",
// 결과가 들어갈 속성
"target_property_name": "#textdebug"
}
]
},
// ???/?? ??
"element_huds": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{ "health": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 사용할 이미지 경로
"texture": "textures/ui/hud_bg",
// 가로/세로 크기
"size": [ 28, 28 ],
// ???? ??
"uv_size": [ 28, 28 ],
// ???? ?? ??
"uv": [ 0, 0 ],
// 기준점에서 이동하는 거리
"offset": [ -140, -22 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "foreground@element_foreground_renderer_adv": {
// 오버라이드 가능한 변수
"$clip_max": 20.0,
// 오버라이드 가능한 변수
"$clip_texture_source": "textures/ui/health_orb_fg",
// 오버라이드 가능한 변수
"$clip_texture_preserved": "%.24s",
// 오버라이드 가능한 변수
"$clip_preserved": "%.13s"
}},
{ "label@element_label_color_renderer": {
// 기준점에서 이동하는 거리
"offset": [ 0.5, -19 ],
// 오버라이드 가능한 변수
"$clip_preserved": "%.13s",
// 오버라이드 가능한 변수
"$label_preserved": "%.3s"
}}
]}},
{ "armor": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 사용할 이미지 경로
"texture": "textures/ui/hud_bg",
// 가로/세로 크기
"size": [ 28, 28 ],
// ???? ??
"uv_size": [ 28, 28 ],
// ???? ?? ??
"uv": [ 28, 0 ],
// 기준점에서 이동하는 거리
"offset": [ -115, -3 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "foreground@element_foreground_renderer": {
// 오버라이드 가능한 변수
"$clip_max": 20.0,
// 오버라이드 가능한 변수
"$clip_texture_source": "textures/ui/armor_orb_fg",
// 오버라이드 가능한 변수
"$clip_preserved": "%.45s"
}},
{ "label@element_label_renderer": {
// 기준점에서 이동하는 거리
"offset": [ 0.5, -19 ],
// 오버라이드 가능한 변수
"$label_preserved": "%.31s",
// ?? (R,G,B,A)
"color": [ 0.8196, 0.8588, 0.8509 ]
}}
]}},
{ "prayer": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 사용할 이미지 경로
"texture": "textures/ui/hud_bg",
// 가로/세로 크기
"size": [ 28, 28 ],
// ???? ??
"uv_size": [ 28, 28 ],
// ???? ?? ??
"uv": [ 56, 0 ],
// 기준점에서 이동하는 거리
"offset": [ 115, -3 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "foreground@element_foreground_renderer_adv": {
// 오버라이드 가능한 변수
"$clip_max": 20.0,
// 오버라이드 가능한 변수
"$clip_texture_source": "textures/ui/prayer_orb_fg",
// 오버라이드 가능한 변수
"$clip_texture_preserved": "%.83s",
// 오버라이드 가능한 변수
"$clip_preserved": "%.68s"
}},
{ "label@element_label_color_renderer": {
// 기준점에서 이동하는 거리
"offset": [ 0.5, -19 ],
// 오버라이드 가능한 변수
"$clip_preserved": "%.68s",
// 오버라이드 가능한 변수
"$label_preserved": "%.54s"
}}
]}},
{ "stamina": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 사용할 이미지 경로
"texture": "textures/ui/hud_bg",
// 가로/세로 크기
"size": [ 28, 28 ],
// ???? ??
"uv_size": [ 28, 28 ],
// ???? ?? ??
"uv": [ 84, 0 ],
// 기준점에서 이동하는 거리
"offset": [ 140, -22 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "foreground@element_foreground_renderer_adv": {
// 오버라이드 가능한 변수
"$clip_max": 20.0,
// 오버라이드 가능한 변수
"$clip_texture_source": "textures/ui/stamina_orb_fg",
// 오버라이드 가능한 변수
"$clip_texture_preserved": "%.144s",
// 오버라이드 가능한 변수
"$clip_preserved": "%.131s"
}},
{ "label@element_label_color_renderer": {
// 기준점에서 이동하는 거리
"offset": [ 0.5, -19 ],
// 오버라이드 가능한 변수
"$clip_preserved": "%.131s",
// 오버라이드 가능한 변수
"$label_preserved": "%.118s"
}}
]}},
{ "prayer_buff_1@element_image_renderer": {
// 오버라이드 가능한 변수
"$image_texture_preserved": "%.87s",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ -16, -38 ]
}},
{ "prayer_buff_2@element_image_renderer": {
// 오버라이드 가능한 변수
"$image_texture_preserved": "%.92s",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -38 ]
}},
{ "prayer_buff_3@element_image_renderer": {
// 오버라이드 가능한 변수
"$image_texture_preserved": "%.97s",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 16, -38 ]
}},
{ "thieving_state_1@element_image_renderer_adv": {
// 오버라이드 가능한 변수
"$image_size": [ 52, 5 ],
// 오버라이드 가능한 변수
"$image_texture_source": "textures/ui/thieving_bar",
// 오버라이드 가능한 변수
"$image_texture_preserved": "%.148s",
// 오버라이드 가능한 변수
"$image_preserved": "%.148s",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ -52, -60 ]
}},
{ "thieving_state_2@element_image_renderer_adv": {
// 오버라이드 가능한 변수
"$image_size": [ 52, 5 ],
// 오버라이드 가능한 변수
"$image_texture_source": "textures/ui/thieving_bar",
// 오버라이드 가능한 변수
"$image_texture_preserved": "%.152s",
// 오버라이드 가능한 변수
"$image_preserved": "%.152s",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -60 ]
}},
{ "thieving_state_3@element_image_renderer_adv": {
// 오버라이드 가능한 변수
"$image_size": [ 52, 5 ],
// 오버라이드 가능한 변수
"$image_texture_source": "textures/ui/thieving_bar",
// 오버라이드 가능한 변수
"$image_texture_preserved": "%.156s",
// 오버라이드 가능한 변수
"$image_preserved": "%.156s",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 52, -60 ]
}}
]},
// ???/?? ??
"element_foreground_renderer": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "$clip_texture_source",
// ??? ??
"clip_direction": "down",
// ?? ??
"clip_pixelperfect": false,
// 가로/세로 크기
"size": "$clip_size",
// 오버라이드 가능한 변수
"$clip_size|default": [ 20, 20 ],
// 오버라이드 가능한 변수
"$clip_max|default": 20.0,
// 오버라이드 가능한 변수
"$clip_texture_source|default": "textures/ui/health_orb_fg",
// 오버라이드 가능한 변수
"$clip_preserved|default": "%.13s",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "view",
"source_control_name": "koala_title_data_control",
// 계산식/참조 값
"source_property_name": "#preserved_text",
// 결과가 들어갈 속성
"target_property_name": "#preserved_text"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#preserved_text - ($clip_preserved * #preserved_text))",
// 결과가 들어갈 속성
"target_property_name": "#clip_ratio_value"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#clip_ratio_value / $clip_max)",
// 결과가 들어갈 속성
"target_property_name": "#clip_ratio"
}
]},
// 다른 템플릿을 가져와서 확장(상속)
"element_foreground_renderer_adv@runeui-gameplay.element_foreground_renderer": {
// 사용할 이미지 경로
"texture": "#texture",
// 오버라이드 가능한 변수
"$clip_texture_preserved|default": "%.24s",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "view",
"source_control_name": "koala_title_data_control",
// 계산식/참조 값
"source_property_name": "#preserved_text",
// 결과가 들어갈 속성
"target_property_name": "#preserved_text"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('§z') + ($clip_texture_source + (#preserved_text - ($clip_texture_preserved * #preserved_text))))",
// 결과가 들어갈 속성
"target_property_name": "#texture"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#preserved_text - ($clip_preserved * #preserved_text))",
// 결과가 들어갈 속성
"target_property_name": "#clip_ratio_value"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#clip_ratio_value / $clip_max)",
// 결과가 들어갈 속성
"target_property_name": "#clip_ratio"
}
]},
// ???/?? ??
"element_foreground_label": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// 가로/세로 크기
"size": [ "default", 10 ],
// ?? (R,G,B,A)
"color": "$experience_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "view",
"source_control_name": "koala_title_data_control",
// 계산식/참조 값
"source_property_name": "#preserved_text",
// 결과가 들어갈 속성
"target_property_name": "#preserved_text"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#preserved_text - ($label_preserved * #preserved_text))",
// 결과가 들어갈 속성
"target_property_name": "#value"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#preserved_text - ($clip_preserved * #preserved_text))",
// 결과가 들어갈 속성
"target_property_name": "#check"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "('§z' + #value)",
// 결과가 들어갈 속성
"target_property_name": "#text"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#check < $min_value)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]},
// ???/?? ??
"element_label_color_renderer": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 오버라이드 가능한 변수
"$label_preserved|default": "%.3s",
// 오버라이드 가능한 변수
"$min_value|default": 15,
// 오버라이드 가능한 변수
"$clip_preserved|default": "%.13s",
// 이 안에 들어가는 부품 목록
"controls": [
{ "green@runeui-gameplay.element_foreground_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// ?? (R,G,B,A)
"color": "$experience_text_color",
// 오버라이드 가능한 변수
"$min_value": 5
}},
{ "yellow@runeui-gameplay.element_foreground_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// ?? (R,G,B,A)
"color": [ 0.9254, 0.9137, 0.1843 ],
// 오버라이드 가능한 변수
"$min_value": 10
}},
{ "orange@runeui-gameplay.element_foreground_label": {
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// ?? (R,G,B,A)
"color": [ 0.9254, 0.6705, 0.1843 ],
// 오버라이드 가능한 변수
"$min_value": 15
}},
{ "red@runeui-gameplay.element_label_renderer": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ?? (R,G,B,A)
"color": [ 0.9254, 0.2941, 0.1843 ]
}}
]},
// ???/?? ??
"element_label_color_renderer_core": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
"shadow": true,
// ?? (R,G,B,A)
"color": "$experience_text_color",
// 오버라이드 가능한 변수
"$label_preserved|default": "%.3s",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "view",
"source_control_name": "koala_title_data_control",
// 계산식/참조 값
"source_property_name": "#preserved_text",
// 결과가 들어갈 속성
"target_property_name": "#preserved_text"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "('§z' + (#preserved_text - ($label_preserved * #preserved_text)))",
// 결과가 들어갈 속성
"target_property_name": "#text"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#preserved_text - ($image_preserved * #preserved_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#preserved_text - ($clip_preserved * #preserved_text))",
// 결과가 들어갈 속성
"target_property_name": "#clip_ratio_value"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#clip_ratio_value / $clip_max)",
// 결과가 들어갈 속성
"target_property_name": "#clip_ratio"
}
]},
// ???/?? ??
"element_label_renderer": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// ?? (R,G,B,A)
"color": "$experience_text_color",
"shadow": true,
// 오버라이드 가능한 변수
"$label_preserved|default": "%.3s",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "view",
"source_control_name": "koala_title_data_control",
// 계산식/참조 값
"source_property_name": "#preserved_text",
// 결과가 들어갈 속성
"target_property_name": "#preserved_text"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "('§z' + (#preserved_text - ($label_preserved * #preserved_text)))",
// 결과가 들어갈 속성
"target_property_name": "#text"
}
]},
// ???/?? ??
"element_image_renderer": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": "$image_size",
// 오버라이드 가능한 변수
"$image_size|default": [ 14, 14 ],
// 오버라이드 가능한 변수
"$image_texture_source|default": "textures/ui/prayers/",
// 오버라이드 가능한 변수
"$image_texture_preserved|default": "%.87s",
// 오버라이드 가능한 변수
"$image_preserved|default": "%.107s",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "view",
"source_control_name": "koala_title_data_control",
// 계산식/참조 값
"source_property_name": "#preserved_text",
// 결과가 들어갈 속성
"target_property_name": "#preserved_text"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('§z') + ($image_texture_source + (#preserved_text - ($image_texture_preserved * #preserved_text))))",
// 결과가 들어갈 속성
"target_property_name": "#texture"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#preserved_text - ($image_preserved * #preserved_text)) = 1",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]},
// 다른 템플릿을 가져와서 확장(상속)
"element_image_renderer_adv@runeui-gameplay.element_image_renderer": {
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "view",
"source_control_name": "koala_title_data_control",
// 계산식/참조 값
"source_property_name": "#preserved_text",
// 결과가 들어갈 속성
"target_property_name": "#preserved_text"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('§z') + ( $image_texture_source + ( #preserved_text - ($image_texture_preserved * #preserved_text))) )",
// 결과가 들어갈 속성
"target_property_name": "#texture"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('§z') + ( #preserved_text - ($image_preserved * #preserved_text)) ) < 3",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}
]},
// ???/?? ??
"item_text_element": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 겹치는 순서(숫자 클수록 위)
"layer": 999,
// 이 안에 들어가는 부품 목록
"controls": [
{ "item_text_aligner": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점에서 이동하는 거리
"offset": [ 0, -42 ],
"use_child_anchors": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "exp_toast@runeui-exp_toast.root_panel": {}},
{ "craft_bg": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 82, 10 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "view",
"source_control_name": "koala_title_data_control",
// 계산식/참조 값
"source_property_name": "#preserved_text",
// 결과가 들어갈 속성
"target_property_name": "#preserved_text"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('§z') + ( #preserved_text - ('%.172s' * #preserved_text)) > 0 )",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 82, 4 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "view",
"source_control_name": "koala_title_data_control",
// 계산식/참조 값
"source_property_name": "#preserved_text",
// 결과가 들어갈 속성
"target_property_name": "#preserved_text"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('§z') + ('textures/ui/craft_bg_' + (#preserved_text - ('%.172s' * #preserved_text))))",
// 결과가 들어갈 속성
"target_property_name": "#texture"
}]
}},
{ "foreground@element_foreground_renderer": {
// ??? ??
"clip_direction": "right",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 기준점에서 이동하는 거리
"offset": [ 1, -1 ],
// 오버라이드 가능한 변수
"$clip_max": 40.0,
// 오버라이드 가능한 변수
"$clip_texture_source": "textures/ui/craft_fg",
// 오버라이드 가능한 변수
"$clip_preserved": "%.186s",
// 오버라이드 가능한 변수
"$clip_size": [ 80, 2 ]
}},
{ "craft_count": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
// 기준점에서 이동하는 거리
"offset": [ 84, 3 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "view",
"source_control_name": "koala_title_data_control",
// 계산식/참조 값
"source_property_name": "#preserved_text",
// 결과가 들어갈 속성
"target_property_name": "#preserved_text"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "('x' + '§z' + (#preserved_text - ('%.202s' * #preserved_text)))",
// 결과가 들어갈 속성
"target_property_name": "#text"
}]
}},
{ "craft_icon": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 가로/세로 크기
"size": [ 16, 16 ],
// 기준점에서 이동하는 거리
"offset": [ -10, 5 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "view",
"source_control_name": "koala_title_data_control",
// 계산식/참조 값
"source_property_name": "#preserved_text",
// 결과가 들어갈 속성
"target_property_name": "#preserved_text"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('§z') + ('textures/ui/crafting_icon_' + ( #preserved_text - ('%.172s' * #preserved_text) )) )",
// 결과가 들어갈 속성
"target_property_name": "#texture"
}]
}}
]}},
{ "item_text_factory": {
// 리스트를 자동으로 생성하는 공장
"type": "factory",
// 가로/세로 크기
"size": [ 100, 10 ],
// 팩토리 템플릿 매핑
"control_ids": {
"item_text": "@hud.item_name_text_root",
"jukebox_text": "@hud.jukebox_popup_text"
}
}
}
]
}
}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: notif_toast.json
// 분류: UI 재료 모음 / .runeui
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "runeui-notif_toast",
// ???/?? ??
"root_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 가로/세로 크기
"size": [ 200, "100%c" ],
"max_size": [ 200, "75%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "factory_stack": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 목록 아이템을 자동으로 생성
"factory": {
"name": "chat_item_factory",
"max_children_size": 50,
// 팩토리 템플릿 매핑
"control_ids": {
"chat_item": "arx-notif_toast@runeui-notif_toast.element"
}}
}}
]},
// ???/?? ??
"element": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 999,
// 가로/세로 크기
"size": [ "100%cm", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "@runeui-notif_toast.notification_toast": {}}
]},
/* [prefix]*/
/* §3§r*/
// ???/?? ??
"check_factory": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 오버라이드 가능한 변수
"$runeui:binding_name|default": "#title_text",
// 오버라이드 가능한 변수
"$runeui:panel_control|default": "",
// 오버라이드 가능한 변수
"$runeui:condition|default": "",
// 목록 아이템을 자동으로 생성
"factory": { "name": "void", "control_name": "runeui-notif_toast.notification_toast", "max_children_size": 1 },
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#chat_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "chat_text_grid",
// ?? ???
"binding_condition": "once"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#text - '<' - '>')",
// 결과가 들어갈 속성
"target_property_name": "#output"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#output - '\ue1ff') = #output))",
// 결과가 들어갈 속성
"target_property_name": "#condition"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#condition * 1)",
// 결과가 들어갈 속성
"target_property_name": "#collection_length"
}]
},
// ???/?? ??
"notification_toast": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 200, 42 ],
"propagate_alpha": true,
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 애니메이션 목록
"anims": [
"@runeui-notif_toast.anim_chat_stack_in",
"@runeui-notif_toast.anim_chat_bg_pop"
],
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#separator": ";"
},
// 이 안에 들어가는 부품 목록
"controls": [
{ "toast_bg@toast_image_template": {
// 사용할 이미지 경로
"texture": "textures/ui/notif",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// 게임 값과 연결하는 규칙 목록
"bindings": []
}},
{ "toast_reveal@toast_image_template": {
// 사용할 이미지 경로
"texture": "textures/ui/notif_reveal",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 애니메이션 목록
"anims": [
"@runeui-notif_toast.reveal_phase_out"
],
// 게임 값과 연결하는 규칙 목록
"bindings": []
}},
{ "background": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// ???
"alpha": 0.75,
// 기준점(어디에서 시작할지)
"anchor_from": "left_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "left_middle",
// 기준점에서 이동하는 거리
"offset": [ 8, 0 ],
// 가로/세로 크기
"size": [ 25, 25 ],
// 사용할 이미지 경로
"texture": "textures/ui/notif_icon_background",
// 이 안에 들어가는 부품 목록
"controls": [
{ "texture_icon": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ 16, 16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#chat_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "chat_text_grid",
// ?? ???
"binding_condition": "once"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "('textures/' + (#text - '<' - '>' - '\ue1ff'))",
// 결과가 들어갈 속성
"target_property_name": "#output"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#search + 1 * (not (('%.'+#search+'s') * #output = #output)) and (('%.'+#search+'s') * #output = ('%.'+#search+'s') * #output - ';')))",
// 결과가 들어갈 속성
"target_property_name": "#search"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "((('%.'+#search+'s') * #output) - ';')",
// 결과가 들어갈 속성
"target_property_name": "#texture"
}]
}}]
}},
{ "progress_bar@toast_image_template": {
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ "100% - 8px", 1 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 기준점에서 이동하는 거리
"offset": [ 4, -4 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 애니메이션 목록
"anims": [
"@runeui-notif_toast.progress_bar_anim",
"@runeui-notif_toast.progress_bar_anim_fade"
],
// 게임 값과 연결하는 규칙 목록
"bindings": []
}},
{ "labels@toast_label_template": {
// 글자 표시
"type": "label",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ "100% - 44px", "100% - 12px" ],
// 보여줄 글자
"text": "#displaytext",
// 기준점에서 이동하는 거리
"offset": [ -6, 0 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
"shadow": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#chat_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "chat_text_grid",
// ?? ???
"binding_condition": "once"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "('§z' + (#text - '<' - '>' - '\ue1ff'))",
// 결과가 들어갈 속성
"target_property_name": "#output"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#search + 1 * (not (('%.'+#search+'s') * #output = #output)) and (('%.'+#search+'s') * #output = ('%.'+#search+'s') * #output - ';')))",
// 결과가 들어갈 속성
"target_property_name": "#search"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#output - ( ('%.'+#search+'s') * #output))",
// 결과가 들어갈 속성
"target_property_name": "#mask_2"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('§z') + (#mask_2 - ('%.4s' * #mask_2)))",
// 결과가 들어갈 속성
"target_property_name": "#displaytext"
}]
}}
],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#chat_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "chat_text_grid",
// ?? ???
"binding_condition": "once"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#text - '<' - '>')",
// 결과가 들어갈 속성
"target_property_name": "#output"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#output - '\ue1ff') = #output))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}]},
// ???/?? ??
"progress_bar_anim": {
// 크기 변화
"anim_type": "size",
// 시작 값
"from": [ "0%", 1 ],
// 끝 값
"to": [ "100% - 8px", 1 ],
// 걸리는 시간(초)
"duration": "($chat_item_lifetime + 1.25)"
},
// ???/?? ??
"progress_bar_anim_fade": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": "($chat_item_lifetime + 1)",
// 다음 애니메이션으로 연결
"next": "@runeui-notif_toast.progress_bar_anim_fade_out"
},
// ???/?? ??
"progress_bar_anim_fade_out": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 0.75,
// 시작 값
"from": 1,
// 끝 값
"to": 0
},
// ???/?? ??
"text_phase_prep": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": "($chat_item_lifetime / 2)",
// 다음 애니메이션으로 연결
"next": "@runeui-notif_toast.text_phase_prep_out"
},
// ???/?? ??
"text_phase_prep_out": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "in_out_expo",
// 걸리는 시간(초)
"duration": 1,
// 시작 값
"from": 1,
// 끝 값
"to": 0
},
// ???/?? ??
"reveal_phase": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": 1,
// 다음 애니메이션으로 연결
"next": "@runeui-notif_toast.reveal_phase_out"
},
// ???/?? ??
"reveal_phase_out": {
// 투명도 변화
"anim_type": "alpha",
// 움직임 곡선
"easing": "linear",
// 걸리는 시간(초)
"duration": 1,
// 시작 값
"from": 1,
// 끝 값
"to": 0
},
// ???/?? ??
"anim_chat_stack_ins": {
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "out_expo",
// 걸리는 시간(초)
"duration": 0.5,
// 시작 값
"from": [ 200, 0 ],
// 끝 값
"to": [ 200, 42 ],
// 다음 애니메이션으로 연결
"next": "@runeui-notif_toast.anim_chat_stack_wait"
},
// ???/?? ??
"anim_chat_stack_in": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": "($chat_item_lifetime + 2)",
// 다음 애니메이션으로 연결
"next": "@runeui-notif_toast.anim_chat_stack_out"
},
// ???/?? ??
"anim_chat_stack_out": {
// 크기 변화
"anim_type": "size",
// 움직임 곡선
"easing": "in_out_expo",
// 걸리는 시간(초)
"duration": 1,
// 시작 값
"from": [ 200, 42 ],
// 끝 값
"to": [ 200, 0 ],
"destroy_at_end": "element"
},
// ???/?? ??
"anim_chat_bg_pop": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "out_expo",
// 걸리는 시간(초)
"duration": 1,
// 시작 값
"from": [ "100%", 0 ],
// 끝 값
"to": [ 0, 0 ],
// 다음 애니메이션으로 연결
"next": "@runeui-notif_toast.anim_chat_bg_wait_push"
},
// ???/?? ??
"anim_chat_bg_wait_push": {
// 잠시 대기
"anim_type": "wait",
// 걸리는 시간(초)
"duration": "$chat_item_lifetime",
// 다음 애니메이션으로 연결
"next": "@runeui-notif_toast.anim_chat_bg_push"
},
// ???/?? ??
"anim_chat_bg_push": {
// 위치 이동
"anim_type": "offset",
// 움직임 곡선
"easing": "in_expo",
// 걸리는 시간(초)
"duration": 1,
// 시작 값
"from": [ 0, 0 ],
// 끝 값
"to": [ "100%", 0 ]
},
// ???/?? ??
"toast_image_template": {
// 오버라이드 가능한 변수
"$arx:chat_image_binding|default": "#text",
// 이미지 표시
"type": "image",
"force_texture_reload": true,
"allow_debug_missing_texture": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#chat_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "chat_text_grid",
// ?? ???
"binding_condition": "once"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "$arx:chat_image_binding",
// 결과가 들어갈 속성
"target_property_name": "#texture"
}]},
// ???/?? ??
"toast_label_template": {
// 오버라이드 가능한 변수
"$arx:chat_text_binding|default": "#text",
// 글자 표시
"type": "label",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#chat_text",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "chat_text_grid",
// ?? ???
"binding_condition": "once"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "$arx:chat_text_binding",
// 결과가 들어갈 속성
"target_property_name": "#displaytext"
}]}
}
필요한 부분만 참고해서 가져가세요.
// 예제: noting.json
// 분류: UI 재료 모음 / .runeui
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "runeui-noting",
// ???/?? ??
"element": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$runeui:form_condition": "(not((#title_text - 'noting_table.note.title') = #title_text))",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#title_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "$runeui:form_condition",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "gradient@runeui-common.gradient_background": {
// 오버라이드 가능한 변수
"$rc_gradient_color1": [ 0.7686, 0.7098, 0.5137, 0 ],
// 오버라이드 가능한 변수
"$rc_gradient_color2": [ 0.7686, 0.7098, 0.5137, 0.7 ]
}},
{ "form@runeui-form.main_panel_no_buttons": {
// 가로/세로 크기
"size": [ 236, 200 ],
// 오버라이드 가능한 변수
"$title_text_color": [ 0.7686, 0.7098, 0.5137 ],
// 오버라이드 가능한 변수
"$panel_indent_size": [ "100% - 6px", "100% - 26px" ],
// 오버라이드 가능한 변수
"$panel_indent_offset": [ 0, 23 ],
// 오버라이드 가능한 변수
"$custom_background": "runeui-noting.dialog",
// 오버라이드 가능한 변수
"$rc_template": "runeui-noting.scrolling_panel",
// 오버라이드 가능한 변수
"$rc_custom_background": "runeui-noting.background",
// 오버라이드 가능한 변수
"$rc_custom_background_size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}}
]},
// ???/?? ??
"dialog": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{ "main@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-noting.dialog_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
}}
]},
// 다른 템플릿을 가져와서 확장(상속)
"background@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-noting.background_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// 다른 템플릿을 가져와서 확장(상속)
"dialog_modal@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-noting.dialog_modal_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// ???/?? ??
"background_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background_gradient@runeui-common.gradient_background_black": {
// 오버라이드 가능한 변수
"$rc_gradient_color1": [ 0.7686, 0.7098, 0.5137, 0 ],
// 오버라이드 가능한 변수
"$rc_gradient_color2": [ 0.7686, 0.7098, 0.5137, 0.7 ]
}},
{ "panel_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/form_body_background",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ?? (R,G,B,A)
"color": "$title_text_color",
// 이미지 반복 여부
"tiled": true
}}
]},
// ???/?? ??
"dialog_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
// Change your question mark string here (noting)
// don't forget to delete this comment after you done with it -harlow
{ "toolbar@runeui-form.form_style_toolbar": {
// 오버라이드 가능한 변수
"$rc_hover_word": "runeui.help.smithing"
}},
{ "styler@runeui-form.form_style_main": {}},
{ "noting@runeui-noting.noting": {}},
{ "unnote_all@runeui-noting.unnote_all": {}},
{ "divider@runeui-common.title_bar_divider": {}},
{ "selected_tab@runeui-noting.selected_tab": {}}
]},
// ???/?? ??
"dialog_modal_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{ "toolbar@runeui-form.form_style_toolbar": {
// 오버라이드 가능한 변수
"$runeui:help_button": false
}},
{ "styler@runeui-form.form_style_main": {}}
]},
// ???/?? ??
"selected_tab": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "50%", 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [ 0, -19 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "locked_button@common_buttons.light_text_button": {
// ??/???
"enabled": false,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$button_text": "noting_table.note.title",
// 오버라이드 가능한 변수
"$pressed_button_name": "",
// 오버라이드 가능한 변수
"$button_text_max_size": [ "100%", 20 ],
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_tab_front",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_tab_front_hover",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_tab_front_hover",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_tab_front",
// 오버라이드 가능한 변수
"$locked_text_color": [ 0.5, 0.5, 0.5 ]
}},
{ "outline": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 겹치는 순서(숫자 클수록 위)
"layer": -2,
// ???
"alpha": 0.5,
// 가로/세로 크기
"size": [ "100% + 2px", "100% - 1px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, -1.5 ],
// ?? (R,G,B,A)
"color": "$title_text_color",
// 애니메이션 목록
"anims": [ "@runeui-common.outline_fade_starter" ]
}}
]},
// ???/?? ??
"unnote_all": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 가로/세로 크기
"size": [ 15, 15 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [ -40, 3 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 목록 아이템을 자동으로 생성
"factory":{
"name": "buttons",
// ??? ???
"control_name": "runeui-noting.unnote_all_core"
},
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}]},
// ???/?? ??
"unnote_all_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 게임 값과 연결하는 규칙 목록
"bindings":[
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#form_button_text - 'noting_table.note.note_all') = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 오버라이드 가능한 변수
"$button_text_binding_type": "collection",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "form_buttons",
// 오버라이드 가능한 변수
"$button_text_max_size": [ "100%", 20 ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$focus_border_size_override": [ 0, 0 ],
// 오버라이드 가능한 변수
"$button_type_panel": "runeui-noting.unnote_all_icon",
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$default_text_color": [ 0.85, 0.85, 0.85 ],
// 오버라이드 가능한 변수
"$hover_text_color": "$dark_button_hover_text_color",
// 오버라이드 가능한 변수
"$pressed_text_color": "$dark_button_pressed_text_color",
// 오버라이드 가능한 변수
"$locked_text_color": "$dark_button_locked_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
}]
}}
]},
// 다른 템플릿을 가져와서 확장(상속)
"unnote_all_icon@runeui-common.help_button_default": {
// 사용할 이미지 경로
"texture": "textures/ui/noting/note",
// 가로/세로 크기
"size": [ 12, 12 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "item_details_label": {
// 완전히 제거(공간도 없음)
"ignored": "(not($hover_state or $pressed_state))",
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#form_button_text",
// ?? ??
"text_alignment": "left",
"max_size": [ 300, "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 200,
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 19 ],
"shadow": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -10,
// 가로/세로 크기
"size": [ "100% + 14px", "100% + 12px" ],
// 사용할 이미지 경로
"texture": "textures/ui/general_textbox"
}},
{ "shadow": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -11,
// ???
"alpha": 0.5,
// 가로/세로 크기
"size": [ "100% + 14px", "100% + 12px" ],
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// 기준점에서 이동하는 거리
"offset": [ 2, 2 ]
}}
]}}
]},
// ???/?? ??
"noting": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 가로/세로 크기
"size": [ "50%", 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [ 0, -16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": -8,
// 목록 아이템을 자동으로 생성
"factory":{
"name": "buttons",
// ??? ???
"control_name": "runeui-noting.noting_core"
},
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}]},
// 다른 템플릿을 가져와서 확장(상속)
"noting_core@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 오버라이드 가능한 변수
"$button_text": "noting_table.unnote.title",
// 오버라이드 가능한 변수
"$button_text_max_size": [ "100%", 20 ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_tab_back",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_tab_back_hover",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_tab_back_hover",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_tab_back",
// 오버라이드 가능한 변수
"$default_text_color": [ 0.85, 0.85, 0.85 ],
// 오버라이드 가능한 변수
"$hover_text_color": "$dark_button_hover_text_color",
// 오버라이드 가능한 변수
"$pressed_text_color": "$dark_button_pressed_text_color",
// 오버라이드 가능한 변수
"$locked_text_color": "$dark_button_locked_text_color",
// 오버라이드 가능한 변수
"$button_offset": [ 0, -1 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#form_button_text - 'noting_table.unnote.title') = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}]
},
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@runeui-form.long_form_scrolling_panel": {
// 오버라이드 가능한 변수
"$scrolling_content": "runeui-noting.scrolling_content"
},
// ??? ??
"scrolling_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
"use_child_anchors": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "padding_00": { "type": "panel", "size": [ "100%", 3 ]}},
{ "label_offset_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "main_label": {
// 글자 표시
"type": "label",
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 가로/세로 크기
"size": [ "100% - 6px", "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
"shadow": true,
// 보여줄 글자
"text": "#form_text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#form_text = ''))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100% + 6px", "100% + 6px" ],
// ?? ??
"clip_pixelperfect": true,
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 기준점에서 이동하는 거리
"offset": [ -2, 0 ],
// 사용할 이미지 경로
"texture": "textures/ui/solid_textbox"
}}
]}}
]}},
{ "padding": { "type": "panel", "size": [ "100%", 10 ]}},
{ "wrapping_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 12px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "element@runeui-form.element_factory": {
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-noting.grid_button_panel_padding",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
}}
]}}
]},
// ???/?? ??
"grid_button_panel_padding": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"grid_item_template": "runeui-noting.grid_button_core",
"grid_rescaling_type": "horizontal",
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#form_button_length - 2)",
// 결과가 들어갈 속성
"target_property_name": "#maximum_grid_items"
}
]},
// ???/?? ??
"grid_button_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 34, 34 ],
// 게임 값과 연결하는 규칙 목록
"bindings":[
{ "binding_name": "#form_button_texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#texture = '') or (#texture = 'loading')))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 32, 32 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "image": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 100,
// 가로/세로 크기
"size": [ 32, 32 ],
// 게임 값과 연결하는 규칙 목록
"bindings":[
{ "binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_name": "#form_button_texture_file_system",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#texture = '') or (#texture = 'loading')))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}]
}},
{ "outline": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ 32, 32 ],
// 사용할 이미지 경로
"texture": "textures/ui/noting/default_frame"
}},
{ "button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 오버라이드 가능한 변수
"$button_text": "#null",
// 오버라이드 가능한 변수
"$button_text_binding_type": "collection",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "form_buttons",
// 오버라이드 가능한 변수
"$button_text_max_size": [ "100%", 20 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "hover": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{ "outline": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// 가로/세로 크기
"size": [ 32, 32 ],
// 사용할 이미지 경로
"texture": "textures/ui/noting/hover_frame"
}},
{ "text_hover": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
"follows_cursor": true,
"always_handle_pointer": true,
"always_listen_to_input": true,
"allow_clipping": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 120,
// 이 안에 들어가는 부품 목록
"controls": [
{ "label_core": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#form_button_text",
"shadow": true,
// 기준점에서 이동하는 거리
"offset": [ "60%", 0 ],
"max_size": [ 220, "default" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -10,
// 가로/세로 크기
"size": [ "100% + 9px", "100% + 6px" ],
// 사용할 이미지 경로
"texture": "textures/ui/general_textbox"
}},
{ "shadow": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -11,
// ???
"alpha": 0.5,
// 가로/세로 크기
"size": [ "100% + 9px", "100% + 6px" ],
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// 기준점에서 이동하는 거리
"offset": [ 2, 2 ]
}}
]}}
]}}
]}}
]}}
]}}
]},
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel_modal@runeui-form.custom_form_panel": {
// 오버라이드 가능한 변수
"$scrolling_content": "runeui-noting.scrolling_modal"
},
// ???/?? ??
"scrolling_modal": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
"use_child_anchors": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "padding": { "type": "panel", "size": [ "100%", 3 ]}},
{ "generated_form@runeui-form.generated_contents": {}},
{ "submit_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.submit_custom_form",
// 가로/세로 크기
"size": [ "100% - 8px", 32 ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$default_text_color": [ 0.85, 0.85, 0.85 ],
// 오버라이드 가능한 변수
"$hover_text_color": "$dark_button_hover_text_color",
// 오버라이드 가능한 변수
"$pressed_text_color": "$dark_button_pressed_text_color",
// 오버라이드 가능한 변수
"$locked_text_color": "$dark_button_locked_text_color",
// 오버라이드 가능한 변수
"$button_text": "Smith!",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#submit_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}]
}}
]}
}
필요한 부분만 참고해서 가져가세요.
// 예제: noting_amount.json
// 분류: UI 재료 모음 / .runeui
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "runeui-noting_amount",
// ???/?? ??
"element_modal": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$runeui:form_condition": "(not((#title_text - 'noting_table.amount_selection') = #title_text))",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#title_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "$runeui:form_condition",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "gradient@runeui-common.gradient_background": {
// 오버라이드 가능한 변수
"$rc_gradient_color1": [ 0.7686, 0.7098, 0.5137, 0 ],
// 오버라이드 가능한 변수
"$rc_gradient_color2": [ 0.7686, 0.7098, 0.5137, 0.7 ]
}},
{ "modal@runeui-form.main_panel_no_buttons": {
// 가로/세로 크기
"size": [ 236, 200 ],
// 오버라이드 가능한 변수
"$title_text_color": [ 0.7686, 0.7098, 0.5137 ],
// 오버라이드 가능한 변수
"$panel_indent_size": [ "100% - 6px", "100% - 26px" ],
// 오버라이드 가능한 변수
"$panel_indent_offset": [ 0, 23 ],
// 오버라이드 가능한 변수
"$custom_background": "runeui-noting_amount.dialog",
// 오버라이드 가능한 변수
"$rc_template": "runeui-noting_amount.scrolling_panel_modal",
// 오버라이드 가능한 변수
"$rc_custom_background": "runeui-noting_amount.background",
// 오버라이드 가능한 변수
"$rc_custom_background_size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}}
]},
// 다른 템플릿을 가져와서 확장(상속)
"dialog@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-noting_amount.dialog_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// 다른 템플릿을 가져와서 확장(상속)
"background@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-noting_amount.background_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// ???/?? ??
"background_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// ?? ????
"clips_children": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "background_gradient@runeui-common.gradient_background_black": {
// 오버라이드 가능한 변수
"$rc_gradient_color1": [ 0.7686, 0.7098, 0.5137, 0 ],
// 오버라이드 가능한 변수
"$rc_gradient_color2": [ 0.7686, 0.7098, 0.5137, 0.7 ]
}},
{ "panel_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/form_body_background",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ?? (R,G,B,A)
"color": "$title_text_color",
// 이미지 반복 여부
"tiled": true
}}
]},
// ???/?? ??
"dialog_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{ "toolbar@runeui-form.form_style_toolbar": {
// 오버라이드 가능한 변수
"$runeui:help_button": false
}},
{ "styler@runeui-form.form_style_main": {}}
]},
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel_modal@runeui-form.custom_form_panel": {
// 오버라이드 가능한 변수
"$scrolling_content": "runeui-noting_amount.scrolling_modal"
},
// ???/?? ??
"scrolling_modal": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
"use_child_anchors": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "padding": { "type": "panel", "size": [ "100%", 3 ]}},
{ "generated_form@runeui-form.generated_contents": {}},
{ "submit_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.submit_custom_form",
// 가로/세로 크기
"size": [ "100% - 8px", 32 ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$default_text_color": [ 0.85, 0.85, 0.85 ],
// 오버라이드 가능한 변수
"$hover_text_color": "$dark_button_hover_text_color",
// 오버라이드 가능한 변수
"$pressed_text_color": "$dark_button_pressed_text_color",
// 오버라이드 가능한 변수
"$locked_text_color": "$dark_button_locked_text_color",
// 오버라이드 가능한 변수
"$button_text": "Note!",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#submit_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}]
}}
]}
}
필요한 부분만 참고해서 가져가세요.
// 예제: preload.json
// 분류: UI 재료 모음 / .runeui
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{ "namespace": "runeui-preload",
// ???/?? ??
"root_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 16, 16 ],
// 기준점에서 이동하는 거리
"offset": [ -2048, -2048 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "health_orb_fg0": { "type": "image", "texture": "textures/ui/health_orb_fg0" }},
{ "health_orb_fg1": { "type": "image", "texture": "textures/ui/health_orb_fg1" }},
{ "health_orb_fg2": { "type": "image", "texture": "textures/ui/health_orb_fg2" }},
{ "health_orb_fg3": { "type": "image", "texture": "textures/ui/health_orb_fg3" }},
{ "health_orb_fg4": { "type": "image", "texture": "textures/ui/health_orb_fg4" }},
{ "prayer_orb_fg0": { "type": "image", "texture": "textures/ui/prayer_orb_fg0" }},
{ "prayer_orb_fg1": { "type": "image", "texture": "textures/ui/prayer_orb_fg1" }},
{ "stamina_orb_fg0": { "type": "image", "texture": "textures/ui/stamina_orb_fg0" }},
{ "stamina_orb_fg1": { "type": "image", "texture": "textures/ui/stamina_orb_fg1" }},
{ "armor_orb_fg": { "type": "image", "texture": "textures/ui/armor_orb_fg" }},
{ "prayer_0": { "type": "image", "texture": "textures/ui/prayers/0" }},
{ "prayer_1": { "type": "image", "texture": "textures/ui/prayers/1" }},
{ "prayer_2": { "type": "image", "texture": "textures/ui/prayers/2" }},
{ "prayer_3": { "type": "image", "texture": "textures/ui/prayers/3" }},
{ "prayer_4": { "type": "image", "texture": "textures/ui/prayers/4" }},
{ "prayer_5": { "type": "image", "texture": "textures/ui/prayers/5" }},
{ "prayer_6": { "type": "image", "texture": "textures/ui/prayers/6" }},
{ "prayer_7": { "type": "image", "texture": "textures/ui/prayers/7" }},
{ "prayer_8": { "type": "image", "texture": "textures/ui/prayers/8" }},
{ "prayer_9": { "type": "image", "texture": "textures/ui/prayers/9" }},
{ "prayer_10": { "type": "image", "texture": "textures/ui/prayers/10" }},
{ "prayer_11": { "type": "image", "texture": "textures/ui/prayers/11" }},
{ "prayer_12": { "type": "image", "texture": "textures/ui/prayers/12" }},
{ "prayer_13": { "type": "image", "texture": "textures/ui/prayers/13" }},
{ "prayer_14": { "type": "image", "texture": "textures/ui/prayers/14" }},
{ "prayer_15": { "type": "image", "texture": "textures/ui/prayers/15" }},
{ "prayer_16": { "type": "image", "texture": "textures/ui/prayers/16" }},
{ "prayer_17": { "type": "image", "texture": "textures/ui/prayers/17" }},
{ "prayer_18": { "type": "image", "texture": "textures/ui/prayers/18" }},
{ "prayer_19": { "type": "image", "texture": "textures/ui/prayers/19" }},
{ "prayer_20": { "type": "image", "texture": "textures/ui/prayers/20" }},
{ "prayer_21": { "type": "image", "texture": "textures/ui/prayers/21" }},
{ "prayer_22": { "type": "image", "texture": "textures/ui/prayers/22" }},
{ "prayer_23": { "type": "image", "texture": "textures/ui/prayers/11" }},
{ "prayer_24": { "type": "image", "texture": "textures/ui/prayers/24" }},
{ "prayer_25": { "type": "image", "texture": "textures/ui/prayers/25" }},
{ "prayer_26": { "type": "image", "texture": "textures/ui/prayers/26" }},
{ "prayer_27": { "type": "image", "texture": "textures/ui/prayers/27" }},
{ "prayer_28": { "type": "image", "texture": "textures/ui/prayers/28" }},
{ "prayer_29": { "type": "image", "texture": "textures/ui/prayers/29" }},
{ "prayer_30": { "type": "image", "texture": "textures/ui/prayers/30" }},
{ "prayer_31": { "type": "image", "texture": "textures/ui/prayers/31" }},
{ "prayer_32": { "type": "image", "texture": "textures/ui/prayers/32" }},
{ "prayer_33": { "type": "image", "texture": "textures/ui/prayers/33" }},
{ "prayer_34": { "type": "image", "texture": "textures/ui/prayers/34" }},
{ "prayer_35": { "type": "image", "texture": "textures/ui/prayers/35" }},
{ "prayer_36": { "type": "image", "texture": "textures/ui/prayers/36" }},
{ "prayer_37": { "type": "image", "texture": "textures/ui/prayers/37" }},
{ "thieving_bar_0": { "type": "image", "texture": "textures/ui/thieving_bar0" }},
{ "thieving_bar_1": { "type": "image", "texture": "textures/ui/thieving_bar1" }},
{ "thieving_bar_2": { "type": "image", "texture": "textures/ui/thieving_bar2" }},
{ "craft_bg": { "type": "image", "texture": "textures/ui/craft_bg" }},
{ "craft_fg": { "type": "image", "texture": "textures/ui/craft_fg" }}
]}
}
필요한 부분만 참고해서 가져가세요.
// 예제: repair.json
// 분류: UI 재료 모음 / .runeui
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "runeui-repair",
// ???/?? ??
"element_modal": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$runeui:form_condition": "(not((#title_text - 'repair_amount.title') = #title_text))",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#title_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "$runeui:form_condition",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "gradient@runeui-common.gradient_background": {
// 오버라이드 가능한 변수
"$rc_gradient_color1": [ 0.521, 0.541, 0.6, 0 ],
// 오버라이드 가능한 변수
"$rc_gradient_color2": [ 0.521, 0.541, 0.6, 0.7 ]
}},
{ "modal@runeui-form.main_panel_no_buttons": {
// 가로/세로 크기
"size": [ 236, 200 ],
// 오버라이드 가능한 변수
"$title_text_color": [ 0.521, 0.541, 0.6 ],
// 오버라이드 가능한 변수
"$panel_indent_size": [ "100% - 6px", "100% - 26px" ],
// 오버라이드 가능한 변수
"$panel_indent_offset": [ 0, 23 ],
// 오버라이드 가능한 변수
"$custom_background": "runeui-repair.dialog_modal",
// 오버라이드 가능한 변수
"$rc_template": "runeui-repair.scrolling_panel_modal",
// 오버라이드 가능한 변수
"$rc_custom_background": "runeui-repair.background",
// 오버라이드 가능한 변수
"$rc_custom_background_size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}}
]},
// ???/?? ??
"element": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$runeui:form_condition": "(not((#title_text - 'repair.title') = #title_text))",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#title_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "$runeui:form_condition",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "gradient@runeui-common.gradient_background": {
// 오버라이드 가능한 변수
"$rc_gradient_color1": [ 0.521, 0.541, 0.6, 0 ],
// 오버라이드 가능한 변수
"$rc_gradient_color2": [ 0.521, 0.541, 0.6, 0.7 ]
}},
{ "form@runeui-form.main_panel_no_buttons": {
// 가로/세로 크기
"size": [ 236, 200 ],
// 오버라이드 가능한 변수
"$title_text_color": [ 0.521, 0.541, 0.6 ],
// 오버라이드 가능한 변수
"$panel_indent_size": [ "100% - 6px", "100% - 26px" ],
// 오버라이드 가능한 변수
"$panel_indent_offset": [ 0, 23 ],
// 오버라이드 가능한 변수
"$custom_background": "runeui-repair.dialog",
// 오버라이드 가능한 변수
"$rc_template": "runeui-repair.scrolling_panel",
// 오버라이드 가능한 변수
"$rc_custom_background": "runeui-repair.background",
// 오버라이드 가능한 변수
"$rc_custom_background_size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}}
]},
// 다른 템플릿을 가져와서 확장(상속)
"dialog@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-repair.dialog_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// 다른 템플릿을 가져와서 확장(상속)
"dialog_modal@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-repair.dialog_modal_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// 다른 템플릿을 가져와서 확장(상속)
"background@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-repair.background_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// ???/?? ??
"background_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background_gradient@runeui-common.gradient_background_black": {
// 오버라이드 가능한 변수
"$rc_gradient_color1": [ 0.521, 0.541, 0.6, 0 ],
// 오버라이드 가능한 변수
"$rc_gradient_color2": [ 0.521, 0.541, 0.6, 0.7 ]
}},
{ "panel_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/form_body_background",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ?? (R,G,B,A)
"color": "$title_text_color",
// 이미지 반복 여부
"tiled": true
}}
]},
// ???/?? ??
"dialog_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{ "toolbar@runeui-form.form_style_toolbar": {
// 오버라이드 가능한 변수
"$rc_hover_word": "runeui.help.repairing"
}},
{ "styler@runeui-form.form_style_main": {}},
{ "smithing@runeui-repair.smithing": {}},
{ "selected_tab@runeui-repair.selected_tab": {}}
]},
// ???/?? ??
"dialog_modal_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{ "toolbar@runeui-form.form_style_toolbar": {
// 오버라이드 가능한 변수
"$runeui:help_button": false
}},
{ "styler@runeui-form.form_style_main": {}}
]},
// ???/?? ??
"selected_tab": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 118, 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [ 0, -19 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "locked_button@common_buttons.light_text_button": {
// ??/???
"enabled": false,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$button_text": "repair.title",
// 오버라이드 가능한 변수
"$pressed_button_name": "",
// 오버라이드 가능한 변수
"$button_text_max_size": [ "100%", 20 ],
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_tab_front",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_tab_front_hover",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_tab_front_hover",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_tab_front",
// 오버라이드 가능한 변수
"$locked_text_color": [ 0.5, 0.5, 0.5 ]
}},
{ "outline": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 겹치는 순서(숫자 클수록 위)
"layer": -2,
// ???
"alpha": 0.5,
// 가로/세로 크기
"size": [ "100% + 2px", "100% - 1px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, -1.5 ],
// ?? (R,G,B,A)
"color": "$title_text_color",
// 애니메이션 목록
"anims": [ "@runeui-common.outline_fade_starter" ]
}}
]},
// ???/?? ??
"smithing": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 가로/세로 크기
"size": [ "50%", 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [ 0, -16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": -8,
// 목록 아이템을 자동으로 생성
"factory":{
"name": "buttons",
// ??? ???
"control_name": "runeui-repair.smithing_core"
},
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}]},
// 다른 템플릿을 가져와서 확장(상속)
"smithing_core@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 오버라이드 가능한 변수
"$button_text": "smith.title",
// 오버라이드 가능한 변수
"$button_text_max_size": [ "100%", 20 ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_tab_back",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_tab_back_hover",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_tab_back_hover",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_tab_back",
// 오버라이드 가능한 변수
"$default_text_color": [ 0.85, 0.85, 0.85 ],
// 오버라이드 가능한 변수
"$hover_text_color": "$dark_button_hover_text_color",
// 오버라이드 가능한 변수
"$pressed_text_color": "$dark_button_pressed_text_color",
// 오버라이드 가능한 변수
"$locked_text_color": "$dark_button_locked_text_color",
// 오버라이드 가능한 변수
"$button_offset": [ 0, -1 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#form_button_text - 'repair.title') = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}]
},
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@runeui-form.long_form_scrolling_panel": {
// 오버라이드 가능한 변수
"$scrolling_content": "runeui-repair.scrolling_content"
},
// ??? ??
"scrolling_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
"use_child_anchors": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "padding_00": { "type": "panel", "size": [ "100%", 3 ]}},
{ "label_offset_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "main_label": {
// 글자 표시
"type": "label",
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 가로/세로 크기
"size": [ "100% - 6px", "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
"shadow": true,
// 보여줄 글자
"text": "#form_text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#form_text = ''))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100% + 6px", "100% + 6px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// ?? ??
"clip_pixelperfect": true,
// 기준점에서 이동하는 거리
"offset": [ -2, 0 ],
// 사용할 이미지 경로
"texture": "textures/ui/solid_textbox"
}}
]}}
]}},
{ "padding": { "type": "panel", "size": [ "100%", 10 ]}},
{ "wrapping_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 12px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "element@runeui-form.element_factory": {
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-repair.grid_button_panel_padding",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
}}
]}}
]},
// ???/?? ??
"grid_button_panel_padding": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"grid_item_template": "runeui-repair.grid_button_core",
"grid_rescaling_type": "horizontal",
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#form_button_length - 1)",
// 결과가 들어갈 속성
"target_property_name": "#maximum_grid_items"
}
]},
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel_modal@runeui-form.custom_form_panel": {
// 오버라이드 가능한 변수
"$scrolling_content": "runeui-repair.scrolling_modal"
},
// ???/?? ??
"scrolling_modal": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
"use_child_anchors": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "padding": { "type": "panel", "size": [ "100%", 3 ]}},
{ "generated_form@runeui-form.generated_contents": {}},
{ "submit_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.submit_custom_form",
// 가로/세로 크기
"size": [ "100% - 8px", 32 ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$default_text_color": [ 0.85, 0.85, 0.85 ],
// 오버라이드 가능한 변수
"$hover_text_color": "$dark_button_hover_text_color",
// 오버라이드 가능한 변수
"$pressed_text_color": "$dark_button_pressed_text_color",
// 오버라이드 가능한 변수
"$locked_text_color": "$dark_button_locked_text_color",
// 오버라이드 가능한 변수
"$button_text": "Repair!",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#submit_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}]
}}
]},
// ???/?? ??
"durability_temp": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ "100%", 2 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// ?? (R,G,B,A)
"color": "$color",
// 오버라이드 가능한 변수
"$clip_max": 100.0,
// 오버라이드 가능한 변수
"$color|default": "$experience_text_color",
// 오버라이드 가능한 변수
"$max|default": 100,
// 오버라이드 가능한 변수
"$min|default": 80,
// 오버라이드 가능한 변수
"$string_pos|default": "%.2s",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#size_binding_x": 0.0
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#form_button_text - ($string_pos * #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#size_progress"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#size_progress > $min - 1) and (#size_progress < $max) and (not (#size_progress = 100)))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#size_progress / $clip_max)",
// 결과가 들어갈 속성
"target_property_name": "#size_binding_x"
}]
},
// ???/?? ??
"gradient_temp": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/glint",
// ???? ??
"uv_size": [64, 64],
// ???? ?? ??
"uv": "@runeui-repair.image_uv_animation"
},
// ???/?? ??
"outline_temp": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/outline",
// ???? ??
"uv_size": [64, 64],
// ???? ?? ??
"uv": "@runeui-repair.image_uv_animation"
},
// ???/?? ??
"image_uv_animation": {
// Aseprite 프레임 애니메이션
"anim_type": "aseprite_flip_book",
"initial_uv": [0, 0]
},
// ???/?? ??
"grid_button_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 34, 34 ],
// 게임 값과 연결하는 규칙 목록
"bindings":[
{ "binding_name": "#form_button_texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#texture = '') or (#texture = 'loading')))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 32, 32 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "image": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 가로/세로 크기
"size": [ "100% - 2px", "100% - 2px" ],
// 게임 값과 연결하는 규칙 목록
"bindings":[
{ "binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_name": "#form_button_texture_file_system",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#texture = '') or (#texture = 'loading')))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "enchantment": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 목록 아이템을 자동으로 생성
"factory": { "name": "void", "control_name": "runeui-salvaging.gradient_temp", "max_children_size": 1 },
// 오버라이드 가능한 변수
"$rc_gradient_color1": [ 1.0, 0.333, 1.0, 0 ],
// 오버라이드 가능한 변수
"$rc_gradient_color2": [ 1.0, 0.333, 1.0, 0.7 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#form_button_text - ('%.6s' * #form_button_text) * 1)",
// 결과가 들어갈 속성
"target_property_name": "#collection_length"
}]
}},
{ "durability_bg": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// 가로/세로 크기
"size": [ "100%", 2 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#form_button_text - ('%.2s' * #form_button_text) * 1)",
// 결과가 들어갈 속성
"target_property_name": "#size_progress"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#size_progress = 100))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}]
}},
{ "durability_green@durability_temp": {}},
{ "durability_yellow@durability_temp": {
// 오버라이드 가능한 변수
"$color": [ 0.9254, 0.9137, 0.1843 ],
// 오버라이드 가능한 변수
"$max": 80,
// 오버라이드 가능한 변수
"$min": 60
}},
{ "durability_orange@durability_temp": {
// 오버라이드 가능한 변수
"$color": [ 0.9254, 0.6705, 0.1843 ],
// 오버라이드 가능한 변수
"$max": 60,
// 오버라이드 가능한 변수
"$min": 30
}},
{ "durability_red@durability_temp": {
// 오버라이드 가능한 변수
"$color": [ 0.9254, 0.2941, 0.1843 ],
// 오버라이드 가능한 변수
"$max": 30,
// 오버라이드 가능한 변수
"$min": 0
}}
]}},
{ "outline": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// 이 안에 들어가는 부품 목록
"controls": [
{ "selected": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 목록 아이템을 자동으로 생성
"factory": { "name": "void", "control_name": "runeui-salvaging.outline_temp", "max_children_size": 1 },
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#form_button_text - ('%.8s' * #form_button_text) * 1)",
// 결과가 들어갈 속성
"target_property_name": "#check"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#check = 1)",
// 결과가 들어갈 속성
"target_property_name": "#condition"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#condition * 1)",
// 결과가 들어갈 속성
"target_property_name": "#collection_length"
}]
}}]
}},
{ "button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 오버라이드 가능한 변수
"$button_text": "#null",
// 오버라이드 가능한 변수
"$button_text_binding_type": "collection",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "form_buttons",
// 오버라이드 가능한 변수
"$button_text_max_size": [ "100%", 20 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "hover": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{ "outline": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 사용할 이미지 경로
"texture": "textures/ui/White"
}},
{ "text_hover": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
"follows_cursor": true,
"always_handle_pointer": true,
"always_listen_to_input": true,
"allow_clipping": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 120,
// 이 안에 들어가는 부품 목록
"controls": [
{ "label_core": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
"shadow": true,
// 기준점에서 이동하는 거리
"offset": [ "60%", 0 ],
"max_size": [ 220, "default" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "('§z' + (#form_button_text - (%.10s * #form_button_text)))",
// 결과가 들어갈 속성
"target_property_name": "#text"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -10,
// 가로/세로 크기
"size": [ "100% + 9px", "100% + 6px" ],
// 사용할 이미지 경로
"texture": "textures/ui/general_textbox"
}},
{ "shadow": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -11,
// ???
"alpha": 0.5,
// 가로/세로 크기
"size": [ "100% + 9px", "100% + 6px" ],
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// 기준점에서 이동하는 거리
"offset": [ 2, 2 ]
}}
]}}
]}}
]}}
]}}
]}}
]}
}
필요한 부분만 참고해서 가져가세요.
// 예제: runecraft_form.json
// 분류: UI 재료 모음 / .runeui
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "runeui-form",
// ???/?? ??
"custom_form": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$child_control": "runeui-form.long_form_panel_rewrite",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 이 안에 들어가는 부품 목록
"controls": [
{ "bg@runeui-common.background": {}},
{ "brewing@runeui-brewing_table.element_modal": {}},
{ "noting@runeui-noting_amount.element_modal": {}},
{ "repair@runeui-repair.element_modal": {}},
{ "smelting@runeui-smelting.element_modal": {}},
{ "smithing@runeui-smithing.element_modal": {}}
]},
// ???/?? ??
"long_form": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$child_control": "runeui-form.long_form_panel_rewrite",
// 오버라이드 가능한 변수
"$show_close_button": false,
// 이 안에 들어가는 부품 목록
"controls": [
{ "bg@runeui-common.background": {}},
{ "brewing@runeui-brewing_table.element": {}},
{ "noting@runeui-noting.element": {}},
{ "unnoting@runeui-unnoting.element": {}},
{ "prayer@runeui-prayer.element": {}},
{ "smelting@runeui-smelting.element": {}},
{ "salvaging@runeui-salvaging.element": {}},
{ "fletching@runeui-fletching_table.element": {}},
{ "fuel_selection@runeui-fuel_selection.element": {}},
{ "smithing@runeui-smithing.element": {}},
{ "repair@runeui-repair.element": {}}
]},
// ???/?? ??
"main_panel_no_buttons": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 기준점(어디에서 시작할지)
"anchor_from": "center",
// 붙일 위치(어디에 놓을지)
"anchor_to": "center",
// 오버라이드 가능한 변수
"$text_name|default": "",
// 오버라이드 가능한 변수
"$panel_indent_size|default": [ "100% - 16px", "100% - 31px" ],
// 오버라이드 가능한 변수
"$panel_indent_offset|default": [ 0, 23 ],
// 오버라이드 가능한 변수
"$custom_background|default": "dialog_background_hollow_3",
// 오버라이드 가능한 변수
"$title_offset|default": [ 0, 9 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "common_panel@runeui-form.common_panel": { "$dialog_background": "$custom_background" }},
{ "title_label@runeui-common.standard_title_label": {}},
{ "panel_indent": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": "$panel_indent_size",
// 기준점에서 이동하는 거리
"offset": "$panel_indent_offset",
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{ "inside_header_panel@$child_control": {} }
]}}
]},
// ???/?? ??
"common_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$dialog_background|default": "common.dialog_background_opaque",
// 오버라이드 가능한 변수
"$show_close_button|default": true,
// 오버라이드 가능한 변수
"$close_button_visible_binding_name|default": "#close_button_visible",
// 오버라이드 가능한 변수
"$close_button_offset|default": [ 0, 0 ],
// 오버라이드 가능한 변수
"$close_button_layer|default": 2,
// 이 안에 들어가는 부품 목록
"controls": [
{ "bg_image@$dialog_background": {
// 겹치는 순서(숫자 클수록 위)
"layer": 1
}},
{ "close@runeui-common.close_button": {
// 완전히 제거(공간도 없음)
"ignored": "(not $show_close_button)",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "$close_button_visible_binding_name",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}]
}}
]},
// ???/?? ??
"long_form_panel_rewrite": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 오버라이드 가능한 변수
"$rc_template|default": "runeui-form.long_form_scrolling_panel",
// 오버라이드 가능한 변수
"$rc_custom_background|default": "common.empty_panel",
// 오버라이드 가능한 변수
"$rc_custom_background_size|default": [ "100%", "100%" ],
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 이 안에 들어가는 부품 목록
"controls": [
{ "template@$rc_template": {}},
{ "custom_background@$rc_custom_background": {
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 가로/세로 크기
"size": "$rc_custom_background_size"
}}
]},
// ???/?? ??
"scrolling_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$scrolling_pane_size|default": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$scrolling_pane_offset|default": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_view_control_size|default": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$background_size|default": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$background_offset|default": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_view_port_size|default": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$scroll_view_port_max_size|default": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$scroll_view_port_offset|default": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size|default": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size|default": [ 0, 0 ],
// 오버라이드 가능한 변수
"$view_port_size|default": [ "fill", "100%" ],
// 오버라이드 가능한 변수
"$scroll_bar_contained|default": true,
// 오버라이드 가능한 변수
"$scroll_size|default": [ 4, "100%" ],
// 오버라이드 가능한 변수
"$scroll_box_size|default": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$allow_scrolling_even_when_content_fits|default": true,
// 오버라이드 가능한 변수
"$scroll_box_visible|default": true,
// 오버라이드 가능한 변수
"$use_touch_mode|default": false,
// 오버라이드 가능한 변수
"$show_background|default": false,
// 이 안에 들어가는 부품 목록
"controls": [
{
// 다른 템플릿을 가져와서 확장(상속)
"scroll_mouse@common.scrolling_panel_base": {
// 가로/세로 크기
"size": "$scrolling_pane_size",
// 기준점에서 이동하는 거리
"offset": "$scrolling_pane_offset"
}
}
]
},
// ???/?? ??
"container_scroll_background_image": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 2,
// 사용할 이미지 경로
"texture": "textures/ui/form_scrolling_pane_bg",
"allow_clipping": false
},
// ???/?? ??
"container_scroll_box_image": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/form_scrolling_box",
"allow_clipping": false
},
// ???/?? ??
"container_scrollbar_track": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [ -2, 0 ],
"allow_clipping": false,
// 가로/세로 크기
"size": [ "100% + 4px", "100%" ],
// 사용할 이미지 경로
"texture": "textures/ui/form_scrolling_box_bg"
},
// 다른 템플릿을 가져와서 확장(상속)
"long_form_scrolling_panel@runeui-form.scrolling_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 50,
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 오버라이드 가능한 변수
"$show_background": false,
// 가로/세로 크기
"size": [ "100%", "100%" ],
//"debug": "red",
"$scrolling_pane_offset|default": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scrolling_pane_size|default": [ "100% + 0.5px", "100%" ],
// 오버라이드 가능한 변수
"$scroll_view_port_size|default": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$scroll_view_port_offset|default": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_size|default": [ 8, "100%" ],
// Enable element inside the scrolling bar if we want a static instead of dynamic.
"$scroll_bar_contained|default": false,
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 1, 0 ],
// 오버라이드 가능한 변수
"$scroll_background_image_control": "runeui-form.container_scroll_background_image",
// 오버라이드 가능한 변수
"$scroll_track_image_control": "runeui-form.container_scrollbar_track",
// 오버라이드 가능한 변수
"$scroll_box_mouse_image_control": "runeui-form.container_scroll_box_image",
// 오버라이드 가능한 변수
"$scroll_box_touch_image_control": "runeui-form.container_scroll_box_image",
// 오버라이드 가능한 변수
"$allow_scrolling_even_when_content_fits": false,
// 오버라이드 가능한 변수
"$scrolling_content": "server_form.long_form_scrolling_content"
},
// 다른 템플릿을 가져와서 확장(상속)
"custom_form_panel@runeui-form.scrolling_panel": {
// 겹치는 순서(숫자 클수록 위)
"layer": 50,
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 오버라이드 가능한 변수
"$show_background": false,
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$scrolling_pane_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scrolling_pane_size": [ "100% + 0.5px", "100%" ],
// 오버라이드 가능한 변수
"$scroll_view_port_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$scroll_view_port_offset": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_size": [ 8, "100%" ],
// 오버라이드 가능한 변수
"$scroll_bar_right_padding_size": [ 0, 0 ],
// 오버라이드 가능한 변수
"$scroll_bar_left_padding_size": [ 1, 0 ],
// 오버라이드 가능한 변수
"$scroll_background_image_control": "runeui-form.container_scroll_background_image",
// 오버라이드 가능한 변수
"$scroll_track_image_control": "runeui-form.container_scrollbar_track",
// 오버라이드 가능한 변수
"$scroll_box_mouse_image_control": "runeui-form.container_scroll_box_image",
// 오버라이드 가능한 변수
"$scroll_box_touch_image_control": "runeui-form.container_scroll_box_image",
// 오버라이드 가능한 변수
"$allow_scrolling_even_when_content_fits": false,
// 오버라이드 가능한 변수
"$scrolling_content": "server_form.custom_form_scrolling_content"
},
// ???/?? ??
"generated_contents": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100% - 10px", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
"use_child_anchors": true,
// 목록 아이템을 자동으로 생성
"factory":{
"name": "buttons",
// 팩토리 템플릿 매핑
"control_ids": {
"label": "@server_form.custom_label",
"toggle": "@server_form.custom_toggle",
"slider": "@server_form.custom_slider",
"step_slider": "@server_form.custom_step_slider",
"dropdown": "@server_form.custom_dropdown",
"input": "@runeui-form.custom_input",
"header": "@server_form.custom_header"
}},
// 목록 이름
"collection_name": "custom_form",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#custom_form_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}
]},
// ???/?? ??
"custom_input": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100% + 10px", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
"use_child_anchors": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "main_label": {
// 글자 표시
"type": "label",
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 가로/세로 크기
"size": [ "100% - 6px", "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
"shadow": true,
// 보여줄 글자
"text": "#custom_text",
// 게임 값과 연결하는 규칙 목록
"bindings":[
{ "binding_name": "#custom_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "custom_form"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100% + 6px", "100% + 6px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 기준점에서 이동하는 거리
"offset": [ -2, 0 ],
// 사용할 이미지 경로
"texture": "textures/ui/solid_textbox"
}}
]}}
]}},
{ "padding": { "type": "panel", "size": [ 6, 6 ]}}
]},
// ???/?? ??
"element_factory": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 오버라이드 가능한 변수
"$runeui:binding_name|default": "#title_text",
// 오버라이드 가능한 변수
"$runeui:panel_control|default": "",
// 오버라이드 가능한 변수
"$runeui:condition|default": "",
// 목록 아이템을 자동으로 생성
"factory": { "name": "void", "control_name": "$runeui:panel_control", "max_children_size": 1 },
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "$runeui:binding_name" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "$runeui:condition",
// 결과가 들어갈 속성
"target_property_name": "#renderer_state"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#renderer_state * 1)",
// 결과가 들어갈 속성
"target_property_name": "#collection_length"
}]
},
// ???/?? ??
"form_style_main": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{ "form_shadow": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// 겹치는 순서(숫자 클수록 위)
"layer": -2,
// ???
"alpha": 0.25,
// 기준점에서 이동하는 거리
"offset": [ 2, 2 ]
}},
{ "outline": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 겹치는 순서(숫자 클수록 위)
"layer": -2,
// ???
"alpha": 0.5,
// 가로/세로 크기
"size": [ "100% + 2px", "100% + 2px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// ?? (R,G,B,A)
"color": "$title_text_color",
// 애니메이션 목록
"anims": [ "@runeui-common.outline_fade_starter" ]
}},
{ "form_border": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/general_form",
// 겹치는 순서(숫자 클수록 위)
"layer": 30
}},
{ "form_divider": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/general_form",
// 겹치는 순서(숫자 클수록 위)
"layer": 35,
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 19 ],
// 가로/세로 크기
"size": [ "100%", 4 ]
}},
{ "background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/general_form_background",
// 겹치는 순서(숫자 클수록 위)
"layer": -2,
// 이미지 반복 여부
"tiled": true
}}
]},
// ???/?? ??
"form_style_toolbar": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$rc_hover_word|default": "Placeholder.",
// 오버라이드 가능한 변수
"$runeui:custom_toolbar|default": false,
// 오버라이드 가능한 변수
"$runeui:custom_toolbar_content|default": "",
// 오버라이드 가능한 변수
"$runeui:help_button|default": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "exit@runeui-common.off_dialog": {
// 오버라이드 가능한 변수
"$rc_offdialog_content": "runeui-common.close_button"
}},
{ "help@runeui-common.off_dialog": {
// 완전히 제거(공간도 없음)
"ignored": "(not $runeui:help_button)",
// 오버라이드 가능한 변수
"$rc_offdialog_offset": [ -19, 3 ],
// 오버라이드 가능한 변수
"$rc_offdialog_content": "runeui-common.help_button"
}},
{ "extra@$runeui:custom_toolbar_content": {
// 완전히 제거(공간도 없음)
"ignored": "(not $runeui:custom_toolbar)"
}}
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: salvaging.json
// 분류: UI 재료 모음 / .runeui
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "runeui-salvaging",
// ???/?? ??
"element": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$runeui:form_condition": "(not((#title_text - 'salvage.title') = #title_text))",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#title_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "$runeui:form_condition",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "gradient@runeui-common.gradient_background": {
// 오버라이드 가능한 변수
"$rc_gradient_color1": [ 1.000, 0.333, 0.000, 0 ],
// 오버라이드 가능한 변수
"$rc_gradient_color2": [ 1.000, 0.333, 0.000, 0.7 ]
}},
{ "form_stacking": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 쌓는 방향(가로/세로)
"orientation": "horizontal",
// 가로/세로 크기
"size": [ "100%c", "100%cm" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "form@runeui-form.main_panel_no_buttons": {
// 가로/세로 크기
"size": [ 236, 200 ],
// 오버라이드 가능한 변수
"$title_text_color": [ 1.000, 0.333, 0.000 ],
// 오버라이드 가능한 변수
"$panel_indent_size": [ "100% - 6px", "100% - 26px" ],
// 오버라이드 가능한 변수
"$panel_indent_offset": [ 0, 23 ],
// 오버라이드 가능한 변수
"$pos": "%.7s",
// 오버라이드 가능한 변수
"$title_alignment": "left",
// 오버라이드 가능한 변수
"$custom_background": "runeui-salvaging.dialog",
// 오버라이드 가능한 변수
"$rc_template": "runeui-salvaging.scrolling_panel",
// 오버라이드 가능한 변수
"$rc_custom_background": "runeui-salvaging.background",
// 오버라이드 가능한 변수
"$rc_custom_background_size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}},
{ "padding": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 4, 4 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#form_text - 'salvage.yield') = #form_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}]
}},
{ "selected@runeui-form.main_panel_no_buttons": {
// 가로/세로 크기
"size": [ 150, 165 ],
// 오버라이드 가능한 변수
"$title_text_color": [ 1.000, 0.333, 0.000 ],
// 오버라이드 가능한 변수
"$title_text": "Selected",
// 오버라이드 가능한 변수
"$panel_indent_size": [ "100% - 6px", "100% - 26px" ],
// 오버라이드 가능한 변수
"$panel_indent_offset": [ 0, 23 ],
// 오버라이드 가능한 변수
"$custom_background": "runeui-salvaging.dialog_selected",
// 오버라이드 가능한 변수
"$rc_template": "runeui-salvaging.scrolling_panel_selected",
// 오버라이드 가능한 변수
"$rc_custom_background": "runeui-salvaging.background_selected",
// 오버라이드 가능한 변수
"$rc_custom_background_size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not((#form_text - 'salvage.yield') = #form_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}]
}}
]}}
]},
// 다른 템플릿을 가져와서 확장(상속)
"dialog@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-salvaging.dialog_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// 다른 템플릿을 가져와서 확장(상속)
"background@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-salvaging.background_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// 다른 템플릿을 가져와서 확장(상속)
"dialog_selected@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-salvaging.dialog_selected_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// 다른 템플릿을 가져와서 확장(상속)
"background_selected@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-salvaging.background_selected_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// ???/?? ??
"background_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background_gradient@runeui-common.gradient_background_black": {
// 오버라이드 가능한 변수
"$rc_gradient_color1": [ 1.000, 0.333, 0.000, 0 ],
// 오버라이드 가능한 변수
"$rc_gradient_color2": [ 1.000, 0.333, 0.000, 0.7 ]
}},
{ "panel_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/form_body_background",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ?? (R,G,B,A)
"color": "$title_text_color",
// 이미지 반복 여부
"tiled": true
}}
]},
// ???/?? ??
"dialog_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{ "toolbar@runeui-form.form_style_toolbar": {
// 오버라이드 가능한 변수
"$rc_hover_word": "runeui.help.salvaging"
}},
{ "styler@runeui-form.form_style_main": {}},
{ "debug_text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#output",
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
"shadow": true,
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [ -54, 6 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#title_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('§z') + (#title_text - ('%.3s' * #title_text)))",
// 결과가 들어갈 속성
"target_property_name": "#output"
}]
}},
{ "fuel_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/blocks/runecraft_furnace_active",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [ -38, 4.5 ],
// 가로/세로 크기
"size": [ 12, 12 ]
}},
{ "smelting_button@runeui-salvaging.smelting_button": {}},
{ "fuel_selection@runeui-salvaging.fuel_selection": {}},
{ "selected_tab@runeui-salvaging.selected_tab": {}},
{ "button_is_empty@runeui-salvaging.button_is_empty_core": {}}
]},
// ???/?? ??
"dialog_selected_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{ "styler@runeui-form.form_style_main": {}},
{ "salvage_button@runeui-salvaging.salvaging_button": {}}
]},
// ???/?? ??
"background_selected_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 사용할 이미지 경로
"texture": "textures/ui/solid_textbox"
}}
]},
// ???/?? ??
"selected_tab": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "33.333%", 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -19 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "locked_button@common_buttons.light_text_button": {
// ??/???
"enabled": false,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$button_text": "salvage.title",
// 오버라이드 가능한 변수
"$button_text_max_size": [ "100%", 20 ],
// 오버라이드 가능한 변수
"$pressed_button_name": "",
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_tab_front",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_tab_front_hover",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_tab_front_hover",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_tab_front",
// 오버라이드 가능한 변수
"$locked_text_color": [ 0.5, 0.5, 0.5 ]
}},
{ "outline": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 겹치는 순서(숫자 클수록 위)
"layer": -2,
// ???
"alpha": 0.5,
// 가로/세로 크기
"size": [ "100% + 2px", "100% - 1px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, -1.5 ],
// ?? (R,G,B,A)
"color": "$title_text_color",
// 애니메이션 목록
"anims": [ "@runeui-common.outline_fade_starter" ]
}}
]},
// ???/?? ??
"fuel_selection": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 가로/세로 크기
"size": [ "33.333%", 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [ 0, -16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": -8,
// 목록 아이템을 자동으로 생성
"factory":{
"name": "buttons",
// ??? ???
"control_name": "runeui-salvaging.fuel_selection_core"
},
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}]},
// 다른 템플릿을 가져와서 확장(상속)
"fuel_selection_core@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 오버라이드 가능한 변수
"$button_text": "fuel.title",
// "$button_text_binding_type": "collection",
// "$button_text_grid_collection_name": "form_buttons",
"$button_text_max_size": [ "100%", 20 ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_tab_back",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_tab_back_hover",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_tab_back_hover",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_tab_back",
// 오버라이드 가능한 변수
"$default_text_color": [ 0.85, 0.85, 0.85 ],
// 오버라이드 가능한 변수
"$hover_text_color": "$dark_button_hover_text_color",
// 오버라이드 가능한 변수
"$pressed_text_color": "$dark_button_pressed_text_color",
// 오버라이드 가능한 변수
"$locked_text_color": "$dark_button_locked_text_color",
// 오버라이드 가능한 변수
"$button_offset": [ 0, -1 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#form_button_text - 'fuel.title') = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}]
},
// ???/?? ??
"smelting_button": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 가로/세로 크기
"size": [ "33.333%", 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [ 0, -16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": -8,
// 목록 아이템을 자동으로 생성
"factory":{
"name": "buttons",
// ??? ???
"control_name": "runeui-salvaging.smelting_button_core"
},
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}]},
// 다른 템플릿을 가져와서 확장(상속)
"smelting_button_core@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 오버라이드 가능한 변수
"$button_text": "smelting.title",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_tab_back",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_tab_back_hover",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_tab_back_hover",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_tab_back",
// 오버라이드 가능한 변수
"$default_text_color": [ 0.85, 0.85, 0.85 ],
// 오버라이드 가능한 변수
"$hover_text_color": "$dark_button_hover_text_color",
// 오버라이드 가능한 변수
"$pressed_text_color": "$dark_button_pressed_text_color",
// 오버라이드 가능한 변수
"$locked_text_color": "$dark_button_locked_text_color",
// 오버라이드 가능한 변수
"$button_offset": [ 0, -1 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#form_button_text - 'smelting.title') = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}]
},
// ???/?? ??
"salvaging_button": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 가로/세로 크기
"size": [ "100%", 30 ],
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 34 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 100,
// 목록 아이템을 자동으로 생성
"factory":{
"name": "buttons",
// ??? ???
"control_name": "runeui-salvaging.salvaging_button_core"
},
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}]},
// 다른 템플릿을 가져와서 확장(상속)
"salvaging_button_core@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 오버라이드 가능한 변수
"$button_text": "salvage.title",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$default_text_color": [ 0.85, 0.85, 0.85 ],
// 오버라이드 가능한 변수
"$hover_text_color": "$dark_button_hover_text_color",
// 오버라이드 가능한 변수
"$pressed_text_color": "$dark_button_pressed_text_color",
// 오버라이드 가능한 변수
"$locked_text_color": "$dark_button_locked_text_color",
// 오버라이드 가능한 변수
"$button_offset": [ 0, 0 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#form_button_text - 'salvage.title') = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}]
},
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@runeui-form.long_form_scrolling_panel": {
// 오버라이드 가능한 변수
"$scrolling_content": "runeui-salvaging.scrolling_content"
},
// ??? ??
"scrolling_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
"use_child_anchors": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "padding_00": { "type": "panel", "size": [ "100%", 3 ]}},
{ "label_offset_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "main_label": {
// 글자 표시
"type": "label",
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 가로/세로 크기
"size": [ "100% - 6px", "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
"shadow": true,
// 보여줄 글자
"text": "#text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "('§z' + #form_text)",
// 결과가 들어갈 속성
"target_property_name": "#output"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#search + 1 * (not (('%.'+#search+'s') * #output = #output)) and (('%.'+#search+'s') * #output = ('%.'+#search+'s') * #output - ';')))",
// 결과가 들어갈 속성
"target_property_name": "#search"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "((('%.'+#search+'s') * #output) - ';')",
// 결과가 들어갈 속성
"target_property_name": "#text"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#text = ''))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100% + 20px", "100% + 6px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// ?? ??
"clip_pixelperfect": true,
// 기준점에서 이동하는 거리
"offset": [ -2, 0 ],
// 사용할 이미지 경로
"texture": "textures/ui/solid_textbox"
}}
]}}
]}},
{ "padding": { "type": "panel", "size": [ "100%", 10 ]}},
{ "wrapping_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 12px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "element@runeui-form.element_factory": {
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-salvaging.grid_button_panel_padding",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
}}
]}}
]},
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel_selected@runeui-form.long_form_scrolling_panel": {
// 오버라이드 가능한 변수
"$scrolling_content": "runeui-salvaging.scrolling_content_selected"
},
// ???/?? ??
"scrolling_content_selected": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
"use_child_anchors": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "padding_00": { "type": "panel", "size": [ "100%", 3 ]}},
{ "label_offset_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "main_label": {
// 글자 표시
"type": "label",
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 가로/세로 크기
"size": [ "100% - 6px", "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
"shadow": true,
// 보여줄 글자
"text": "#text",
// ?? ?? ??
"font_scale_factor": 0.75,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "('§z' + #form_text)",
// 결과가 들어갈 속성
"target_property_name": "#output"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#search + 1 * (not (('%.'+#search+'s') * #output = #output)) and (('%.'+#search+'s') * #output = ('%.'+#search+'s') * #output - ';')))",
// 결과가 들어갈 속성
"target_property_name": "#search"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#output - ( ('%.'+#search+'s') * #output))",
// 결과가 들어갈 속성
"target_property_name": "#text"
}]
}}
]}},
{ "padding_00": { "type": "panel", "size": [ "100%", 6 ]}}
]},
// ???/?? ??
"grid_button_panel_padding": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"grid_item_template": "runeui-salvaging.grid_button_core",
"grid_rescaling_type": "horizontal",
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#form_button_length - 3)",
// 결과가 들어갈 속성
"target_property_name": "#maximum_grid_items"
}
]},
// ???/?? ??
"button_is_empty_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not(#form_button_length > 3))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "mask_8": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "Nothing to salvage...",
// 겹치는 순서(숫자 클수록 위)
"layer": 200,
// 이 안에 들어가는 부품 목록
"controls": [
{ "background": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -10,
// ???
"alpha": 0.75,
// 가로/세로 크기
"size": [ "100% + 8px", "100% + 8px" ],
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background"
}}
]}}
]},
// ???/?? ??
"durability_temp": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 가로/세로 크기
"size": [ "100%", 2 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// ?? (R,G,B,A)
"color": "$color",
// 오버라이드 가능한 변수
"$clip_max": 100.0,
// 오버라이드 가능한 변수
"$color|default": "$experience_text_color",
// 오버라이드 가능한 변수
"$max|default": 100,
// 오버라이드 가능한 변수
"$min|default": 80,
// 오버라이드 가능한 변수
"$string_pos|default": "%.2s",
// 이 컨트롤 안에서 쓰는 임시 저장소
"property_bag": {
// ???/??? ?
"#size_binding_x": 0.0
},
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#form_button_text - ($string_pos * #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#size_progress"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#size_progress > $min - 1) and (#size_progress < $max) and (not (#size_progress = 100)))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#size_progress / $clip_max)",
// 결과가 들어갈 속성
"target_property_name": "#size_binding_x"
}]
},
// ???/?? ??
"gradient_temp": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/glint",
// ???? ??
"uv_size": [ 64, 64 ],
// ???? ?? ??
"uv": "@runeui-salvaging.image_uv_animation"
},
// ???/?? ??
"outline_temp": {
// 가로/세로 크기
"size": [ "100% + 2px", "100% + 2px" ],
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/outline",
// ???? ??
"uv_size": [ 64, 64 ],
// 겹치는 순서(숫자 클수록 위)
"layer": -5,
// ???? ?? ??
"uv": "@runeui-salvaging.image_uv_animation"
},
// ???/?? ??
"image_uv_animation": {
// Aseprite 프레임 애니메이션
"anim_type": "aseprite_flip_book",
"initial_uv": [0, 0]
},
// ???/?? ??
"grid_button_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 34, 34 ],
// 게임 값과 연결하는 규칙 목록
"bindings":[
{ "binding_name": "#form_button_texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#texture = '') or (#texture = 'loading')))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 32, 32 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "image": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 가로/세로 크기
"size": [ "100% - 2px", "100% - 2px" ],
// 게임 값과 연결하는 규칙 목록
"bindings":[
{ "binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_name": "#form_button_texture_file_system",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#texture = '') or (#texture = 'loading')))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "enchantment": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 목록 아이템을 자동으로 생성
"factory": { "name": "void", "control_name": "runeui-salvaging.gradient_temp", "max_children_size": 1 },
// 오버라이드 가능한 변수
"$rc_gradient_color1": [ 1.0, 0.333, 1.0, 0 ],
// 오버라이드 가능한 변수
"$rc_gradient_color2": [ 1.0, 0.333, 1.0, 0.7 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#form_button_text - ('%.6s' * #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#collection_length"
}]
}},
{ "durability_bg": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// 가로/세로 크기
"size": [ "100%", 2 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 3,
// 기준점(어디에서 시작할지)
"anchor_from": "bottom_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "bottom_left",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#form_button_text - ('%.2s' * #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#size_progress"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#size_progress = 100))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}]
}},
{ "durability_green@durability_temp": {}},
{ "durability_yellow@durability_temp": {
// 오버라이드 가능한 변수
"$color": [ 0.9254, 0.9137, 0.1843 ],
// 오버라이드 가능한 변수
"$max": 80,
// 오버라이드 가능한 변수
"$min": 60
}},
{ "durability_orange@durability_temp": {
// 오버라이드 가능한 변수
"$color": [ 0.9254, 0.6705, 0.1843 ],
// 오버라이드 가능한 변수
"$max": 60,
// 오버라이드 가능한 변수
"$min": 30
}},
{ "durability_red@durability_temp": {
// 오버라이드 가능한 변수
"$color": [ 0.9254, 0.2941, 0.1843 ],
// 오버라이드 가능한 변수
"$max": 30,
// 오버라이드 가능한 변수
"$min": 0
}}
]}},
{ "outline": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 사용할 이미지 경로
"texture": "textures/ui/Black",
// 이 안에 들어가는 부품 목록
"controls": [
{ "selected": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 목록 아이템을 자동으로 생성
"factory": { "name": "void", "control_name": "runeui-salvaging.outline_temp", "max_children_size": 1 },
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#form_button_text - ('%.8s' * #form_button_text) * 1)",
// 결과가 들어갈 속성
"target_property_name": "#check"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#check = 1)",
// 결과가 들어갈 속성
"target_property_name": "#condition"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#condition * 1)",
// 결과가 들어갈 속성
"target_property_name": "#collection_length"
}]
}}]
}},
{ "button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 오버라이드 가능한 변수
"$button_text": "#null",
// 오버라이드 가능한 변수
"$button_text_binding_type": "collection",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "form_buttons",
// 오버라이드 가능한 변수
"$button_text_max_size": [ "100%", 20 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "hover": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{ "outline": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 사용할 이미지 경로
"texture": "textures/ui/White"
}},
{ "text_hover": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
"follows_cursor": true,
"always_handle_pointer": true,
"always_listen_to_input": true,
"allow_clipping": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 120,
// 이 안에 들어가는 부품 목록
"controls": [
{ "label_core": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#text",
"shadow": true,
// 기준점에서 이동하는 거리
"offset": [ "60%", 0 ],
"max_size": [ 220, "default" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "('§z' + (#form_button_text - (%.10s * #form_button_text)))",
// 결과가 들어갈 속성
"target_property_name": "#text"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -10,
// 가로/세로 크기
"size": [ "100% + 9px", "100% + 6px" ],
// 사용할 이미지 경로
"texture": "textures/ui/general_textbox"
}},
{ "shadow": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -11,
// ???
"alpha": 0.5,
// 가로/세로 크기
"size": [ "100% + 9px", "100% + 6px" ],
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// 기준점에서 이동하는 거리
"offset": [ 2, 2 ]
}}
]}}
]}}
]}}
]}}
]}}
]}
}
필요한 부분만 참고해서 가져가세요.
// 예제: skill_interface.json
// 분류: UI 재료 모음 / .runeui
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "runeui-skill_interface",
// ???/?? ??
"root_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{ "core@runeui-skill_interface.core": {}}
]},
// ???/?? ??
"core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "view",
"source_control_name": "koala_title_data_control",
// 계산식/참조 값
"source_property_name": "#preserved_text",
// 결과가 들어갈 속성
"target_property_name": "#preserved_text"
},
// Apparently this doesn't show up without spacing???
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('§z') + ( #preserved_text - ('%.211s' * #preserved_text)) ) = 1",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "skill_interface_image": {
// 이미지 표시
"type": "image",
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 사용할 이미지 경로
"texture": "textures/ui/skill_interface_NEW",
// 겹치는 순서(숫자 클수록 위)
"layer": -10,
// 가로/세로 크기
"size": [ 110, 99 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ]
}},
{ "agility_level@runeui-skill_interface.element_level": {
// 기준점에서 이동하는 거리
"offset": [ -78, -28.5 ],
// 오버라이드 가능한 변수
"$label_preserved": "%.231s"
}},
{ "attack_level@runeui-skill_interface.element_level": {
// 기준점에서 이동하는 거리
"offset": [ -42, -28.5 ],
// 오버라이드 가능한 변수
"$label_preserved": "%.241s"
}},
{ "constitution_level@runeui-skill_interface.element_level": {
// 기준점에서 이동하는 거리
"offset": [ -6, -28.5 ],
// 오버라이드 가능한 변수
"$label_preserved": "%.250s"
}},
{ "defense_level@runeui-skill_interface.element_level": {
// 기준점에서 이동하는 거리
"offset": [ -78, -14.5 ],
// 오버라이드 가능한 변수
"$label_preserved": "%.261s"
}},
{ "digging_level@runeui-skill_interface.element_level": {
// 기준점에서 이동하는 거리
"offset": [ -42, -14.5 ],
// 오버라이드 가능한 변수
"$label_preserved": "%.272s"
}},
{ "farming_level@runeui-skill_interface.element_level": {
// 기준점에서 이동하는 거리
"offset": [ -6, -14.5 ],
// 오버라이드 가능한 변수
"$label_preserved": "%.283s"
}},
{ "herblore_level@runeui-skill_interface.element_level": {
// 기준점에서 이동하는 거리
"offset": [ -42, -0.5 ],
// 오버라이드 가능한 변수
"$label_preserved": "%.295s"
}},
{ "mining_level@runeui-skill_interface.element_level": {
// 기준점에서 이동하는 거리
"offset": [ -6, -0.5 ],
// 오버라이드 가능한 변수
"$label_preserved": "%.305s"
}},
{ "prayer_level@runeui-skill_interface.element_level": {
// 기준점에서 이동하는 거리
"offset": [ -78, 13.5 ],
// 오버라이드 가능한 변수
"$label_preserved": "%.315s"
}},
{ "ranged_level@runeui-skill_interface.element_level": {
// 기준점에서 이동하는 거리
"offset": [ -42, 13.5 ],
// 오버라이드 가능한 변수
"$label_preserved": "%.325s"
}},
//woodcutting
{ "woodcutting_level@runeui-skill_interface.element_level": {
// 기준점에서 이동하는 거리
"offset": [ -78, 27 ],
// 오버라이드 가능한 변수
"$label_preserved": "%.337s"
}},
//thieving
{ "thieving_level@runeui-skill_interface.element_level": {
// 기준점에서 이동하는 거리
"offset": [ -42, 27 ],
// 오버라이드 가능한 변수
"$label_preserved": "%.352s"
}},
//smithing
{ "smelting_level@runeui-skill_interface.element_level": {
// 기준점에서 이동하는 거리
"offset": [ -6, 13.5 ],
// 오버라이드 가능한 변수
"$label_preserved": "%.374s"
}},
{ "total_level@runeui-skill_interface.element_level": {
// ?? (R,G,B,A)
"color": [ 0.85, 0.85, 0.85 ],
// 가로/세로 크기
"size": [ 24, 8 ],
// 기준점에서 이동하는 거리
"offset": [ -52, 41 ],
// 오버라이드 가능한 변수
"$label_preserved": "%.218s"
}},
{
// 다른 템플릿을 가져와서 확장(상속)
"fletching_level@runeui-skill_interface.element_level": {
// 기준점에서 이동하는 거리
"offset": [ -78, -0.5],
// 오버라이드 가능한 변수
"$label_preserved": "%.384s"
}
},
{ "combat_level@runeui-skill_interface.element_level": {
// ?? (R,G,B,A)
"color": [ 0.85, 0.85, 0.85 ],
// 기준점에서 이동하는 거리
"offset": [ -17, 41 ],
// 오버라이드 가능한 변수
"$label_preserved": "%.362s"
}}
]},
// 다른 템플릿을 가져와서 확장(상속)
"element_level@runeui-gameplay.element_label_renderer": {
// ?? ??
"text_alignment": "center",
"shadow": true,
// 기준점(어디에서 시작할지)
"anchor_from": "right_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "right_middle",
// 가로/세로 크기
"size": [ 18, 8 ],
// ?? (R,G,B,A)
"color": [ 0.89, 0.67, 0.17 ]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: smelting.json
// 분류: UI 재료 모음 / .runeui
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "runeui-smelting",
// ???/?? ??
"element_modal": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$runeui:form_condition": "(not((#title_text - 'smelting.title') = #title_text))",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#title_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "$runeui:form_condition",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "gradient@runeui-common.gradient_background": {
// 오버라이드 가능한 변수
"$rc_gradient_color1": [ 1.000, 0.333, 0.000, 0 ],
// 오버라이드 가능한 변수
"$rc_gradient_color2": [ 1.000, 0.333, 0.000, 0.7 ]
}},
{ "modal@runeui-form.main_panel_no_buttons": {
// 가로/세로 크기
"size": [ 236, 200 ],
// 오버라이드 가능한 변수
"$title_text_color": [ 1.000, 0.333, 0.000 ],
// 오버라이드 가능한 변수
"$panel_indent_size": [ "100% - 6px", "100% - 26px" ],
// 오버라이드 가능한 변수
"$panel_indent_offset": [ 0, 23 ],
// 오버라이드 가능한 변수
"$custom_background": "runeui-smelting.dialog_modal",
// 오버라이드 가능한 변수
"$rc_template": "runeui-smelting.scrolling_panel_modal",
// 오버라이드 가능한 변수
"$rc_custom_background": "runeui-smelting.background",
// 오버라이드 가능한 변수
"$rc_custom_background_size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}}
]},
// ???/?? ??
"element": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$runeui:form_condition": "(not((#title_text - 'smelting.title') = #title_text))",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#title_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "$runeui:form_condition",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "gradient@runeui-common.gradient_background": {
// 오버라이드 가능한 변수
"$rc_gradient_color1": [ 1.000, 0.333, 0.000, 0 ],
// 오버라이드 가능한 변수
"$rc_gradient_color2": [ 1.000, 0.333, 0.000, 0.7 ]
}},
{ "form@runeui-form.main_panel_no_buttons": {
// 가로/세로 크기
"size": [ 236, 200 ],
// 오버라이드 가능한 변수
"$title_text_color": [ 1.000, 0.333, 0.000 ],
// 오버라이드 가능한 변수
"$panel_indent_size": [ "100% - 6px", "100% - 26px" ],
// 오버라이드 가능한 변수
"$panel_indent_offset": [ 0, 23 ],
// 오버라이드 가능한 변수
"$pos": "%.7s",
// 오버라이드 가능한 변수
"$title_alignment": "left",
// 오버라이드 가능한 변수
"$custom_background": "runeui-smelting.dialog",
// 오버라이드 가능한 변수
"$rc_template": "runeui-smelting.scrolling_panel",
// 오버라이드 가능한 변수
"$rc_custom_background": "runeui-smelting.background",
// 오버라이드 가능한 변수
"$rc_custom_background_size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}}
]},
// 다른 템플릿을 가져와서 확장(상속)
"dialog@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-smelting.dialog_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// 다른 템플릿을 가져와서 확장(상속)
"dialog_modal@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-repair.dialog_modal_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// 다른 템플릿을 가져와서 확장(상속)
"background@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-smelting.background_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// ???/?? ??
"background_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background_gradient@runeui-common.gradient_background_black": {
// 오버라이드 가능한 변수
"$rc_gradient_color1": [ 1.000, 0.333, 0.000, 0 ],
// 오버라이드 가능한 변수
"$rc_gradient_color2": [ 1.000, 0.333, 0.000, 0.7 ]
}},
{ "panel_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/form_body_background",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ?? (R,G,B,A)
"color": "$title_text_color",
// 이미지 반복 여부
"tiled": true
}}
]},
// ???/?? ??
"dialog_modal_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{ "toolbar@runeui-form.form_style_toolbar": {
// 오버라이드 가능한 변수
"$runeui:help_button": false
}},
{ "styler@runeui-form.form_style_main": {}}
]},
// ???/?? ??
"dialog_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{ "toolbar@runeui-form.form_style_toolbar": {
// 오버라이드 가능한 변수
"$rc_hover_word": "runeui.help.smelting"
}},
{ "styler@runeui-form.form_style_main": {}},
{ "debug_text": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#output",
// 겹치는 순서(숫자 클수록 위)
"layer": 4,
"shadow": true,
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [ -54, 6 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#title_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(('§z') + (#title_text - ('%.3s' * #title_text)))",
// 결과가 들어갈 속성
"target_property_name": "#output"
}]
}},
{ "fuel_icon": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/blocks/runecraft_furnace_active",
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [ -38, 4.5 ],
// 가로/세로 크기
"size": [ 12, 12 ]
}},
{ "salvage_button@runeui-smelting.salvage_button": {}},
{ "fuel_selection@runeui-smelting.fuel_selection": {}},
{ "selected_tab@runeui-smelting.selected_tab": {}}
]},
// ???/?? ??
"selected_tab": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "33.333%", 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [ 0, -19 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "locked_button@common_buttons.light_text_button": {
// ??/???
"enabled": false,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$button_text": "smelting.title",
// 오버라이드 가능한 변수
"$pressed_button_name": "",
// 오버라이드 가능한 변수
"$button_text_max_size": [ "100%", 20 ],
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_tab_front",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_tab_front_hover",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_tab_front_hover",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_tab_front",
// 오버라이드 가능한 변수
"$locked_text_color": [ 0.5, 0.5, 0.5 ]
}},
{ "outline": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 겹치는 순서(숫자 클수록 위)
"layer": -2,
// ???
"alpha": 0.5,
// 가로/세로 크기
"size": [ "100% + 2px", "100% - 1px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, -1.5 ],
// ?? (R,G,B,A)
"color": "$title_text_color",
// 애니메이션 목록
"anims": [ "@runeui-common.outline_fade_starter" ]
}}
]},
// ???/?? ??
"fuel_selection": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 가로/세로 크기
"size": [ "33.333%", 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [ 0, -16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": -8,
// 목록 아이템을 자동으로 생성
"factory":{
"name": "buttons",
// ??? ???
"control_name": "runeui-smelting.fuel_selection_core"
},
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}]},
// 다른 템플릿을 가져와서 확장(상속)
"fuel_selection_core@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 오버라이드 가능한 변수
"$button_text": "fuel.title",
// 오버라이드 가능한 변수
"$button_text_max_size": [ "100%", 20 ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_tab_back",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_tab_back_hover",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_tab_back_hover",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_tab_back",
// 오버라이드 가능한 변수
"$default_text_color": [ 0.85, 0.85, 0.85 ],
// 오버라이드 가능한 변수
"$hover_text_color": "$dark_button_hover_text_color",
// 오버라이드 가능한 변수
"$pressed_text_color": "$dark_button_pressed_text_color",
// 오버라이드 가능한 변수
"$locked_text_color": "$dark_button_locked_text_color",
// 오버라이드 가능한 변수
"$button_offset": [ 0, -1 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#form_button_text - 'fuel.title') = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}]
},
// ???/?? ??
"salvage_button": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 가로/세로 크기
"size": [ "33.333%", 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, -16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": -8,
// 목록 아이템을 자동으로 생성
"factory":{
"name": "buttons",
// ??? ???
"control_name": "runeui-smelting.salvage_button_core"
},
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}]},
// 다른 템플릿을 가져와서 확장(상속)
"salvage_button_core@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 오버라이드 가능한 변수
"$button_text": "salvage.title",
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_tab_back",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_tab_back_hover",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_tab_back_hover",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_tab_back",
// 오버라이드 가능한 변수
"$default_text_color": [ 0.85, 0.85, 0.85 ],
// 오버라이드 가능한 변수
"$hover_text_color": "$dark_button_hover_text_color",
// 오버라이드 가능한 변수
"$pressed_text_color": "$dark_button_pressed_text_color",
// 오버라이드 가능한 변수
"$locked_text_color": "$dark_button_locked_text_color",
// 오버라이드 가능한 변수
"$button_offset": [ 0, -1 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#form_button_text - 'salvage.title') = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}]
},
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@runeui-form.long_form_scrolling_panel": {
// 오버라이드 가능한 변수
"$scrolling_content": "runeui-smelting.scrolling_content"
},
// ??? ??
"scrolling_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
"use_child_anchors": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "padding_00": { "type": "panel", "size": [ "100%", 3 ]}},
{ "label_offset_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "main_label": {
// 글자 표시
"type": "label",
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 가로/세로 크기
"size": [ "100% - 6px", "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
"shadow": true,
// 보여줄 글자
"text": "#form_text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#form_text = ''))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100% + 6px", "100% + 6px" ],
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// ?? ??
"clip_pixelperfect": true,
// 기준점에서 이동하는 거리
"offset": [ -2, 0 ],
// 사용할 이미지 경로
"texture": "textures/ui/solid_textbox"
}}
]}}
]}},
{ "padding": { "type": "panel", "size": [ "100%", 10 ]}},
{ "wrapping_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 12px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "element@runeui-form.element_factory": {
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-smelting.grid_button_panel_padding",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
}}
]}}
]},
// ???/?? ??
"grid_button_panel_padding": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"grid_item_template": "runeui-common.grid_button_core",
"grid_rescaling_type": "horizontal",
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#form_button_length - 2)",
// 결과가 들어갈 속성
"target_property_name": "#maximum_grid_items"
}
]},
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel_modal@runeui-form.custom_form_panel": {
// 오버라이드 가능한 변수
"$scrolling_content": "runeui-smelting.scrolling_modal"
},
// ???/?? ??
"scrolling_modal": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
"use_child_anchors": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "padding": { "type": "panel", "size": [ "100%", 3 ]}},
{ "generated_form@runeui-form.generated_contents": {}},
{ "submit_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.submit_custom_form",
// 가로/세로 크기
"size": [ "100% - 8px", 32 ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$default_text_color": [ 0.85, 0.85, 0.85 ],
// 오버라이드 가능한 변수
"$hover_text_color": "$dark_button_hover_text_color",
// 오버라이드 가능한 변수
"$pressed_text_color": "$dark_button_pressed_text_color",
// 오버라이드 가능한 변수
"$locked_text_color": "$dark_button_locked_text_color",
// 오버라이드 가능한 변수
"$button_text": "Smelt!",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#submit_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}]
}}
]}
}
필요한 부분만 참고해서 가져가세요.
// 예제: smithing.json
// 분류: UI 재료 모음 / .runeui
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "runeui-smithing",
// ???/?? ??
"element_modal": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$runeui:form_condition": "(not((#title_text - 'smith.title') = #title_text))",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#title_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "$runeui:form_condition",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "gradient@runeui-common.gradient_background": {
// 오버라이드 가능한 변수
"$rc_gradient_color1": [ 0.658, 0.690, 0.709, 0 ],
// 오버라이드 가능한 변수
"$rc_gradient_color2": [ 0.658, 0.690, 0.709, 0.7 ]
}},
{ "modal@runeui-form.main_panel_no_buttons": {
// 가로/세로 크기
"size": [ 236, 200 ],
// 오버라이드 가능한 변수
"$title_text_color": [ 0.658, 0.690, 0.709 ],
// 오버라이드 가능한 변수
"$panel_indent_size": [ "100% - 6px", "100% - 26px" ],
// 오버라이드 가능한 변수
"$panel_indent_offset": [ 0, 23 ],
// 오버라이드 가능한 변수
"$custom_background": "runeui-smithing.dialog_modal",
// 오버라이드 가능한 변수
"$rc_template": "runeui-smithing.scrolling_panel_modal",
// 오버라이드 가능한 변수
"$rc_custom_background": "runeui-smithing.background",
// 오버라이드 가능한 변수
"$rc_custom_background_size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}}
]},
// ???/?? ??
"element": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$runeui:form_condition": "(not((#title_text - 'smith.title') = #title_text))",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#title_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "$runeui:form_condition",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "gradient@runeui-common.gradient_background": {
// 오버라이드 가능한 변수
"$rc_gradient_color1": [ 0.658, 0.690, 0.709, 0 ],
// 오버라이드 가능한 변수
"$rc_gradient_color2": [ 0.658, 0.690, 0.709, 0.7 ]
}},
{ "form@runeui-form.main_panel_no_buttons": {
// 가로/세로 크기
"size": [ 236, 200 ],
// 오버라이드 가능한 변수
"$title_text_color": [ 0.658, 0.690, 0.709 ],
// 오버라이드 가능한 변수
"$panel_indent_size": [ "100% - 6px", "100% - 26px" ],
// 오버라이드 가능한 변수
"$panel_indent_offset": [ 0, 23 ],
// 오버라이드 가능한 변수
"$custom_background": "runeui-smithing.dialog",
// 오버라이드 가능한 변수
"$rc_template": "runeui-smithing.scrolling_panel",
// 오버라이드 가능한 변수
"$rc_custom_background": "runeui-smithing.background",
// 오버라이드 가능한 변수
"$rc_custom_background_size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}}
]},
// ???/?? ??
"dialog": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{ "main@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-smithing.dialog_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
}}
]},
// 다른 템플릿을 가져와서 확장(상속)
"background@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-smithing.background_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// 다른 템플릿을 가져와서 확장(상속)
"dialog_modal@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-smithing.dialog_modal_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// ???/?? ??
"background_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background_gradient@runeui-common.gradient_background_black": {
// 오버라이드 가능한 변수
"$rc_gradient_color1": [ 0.658, 0.690, 0.709, 0 ],
// 오버라이드 가능한 변수
"$rc_gradient_color2": [ 0.658, 0.690, 0.709, 0.7 ]
}},
{ "panel_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/form_body_background",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ?? (R,G,B,A)
"color": "$title_text_color",
// 이미지 반복 여부
"tiled": true
}}
]},
// ???/?? ??
"dialog_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{ "toolbar@runeui-form.form_style_toolbar": {
// 오버라이드 가능한 변수
"$rc_hover_word": "runeui.help.smithing"
}},
{ "styler@runeui-form.form_style_main": {}},
{ "repair@runeui-smithing.repair": {}},
{ "selected_tab@runeui-smithing.selected_tab": {}}
]},
// ???/?? ??
"dialog_modal_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{ "toolbar@runeui-form.form_style_toolbar": {
// 오버라이드 가능한 변수
"$runeui:help_button": false
}},
{ "styler@runeui-form.form_style_main": {}}
]},
// ???/?? ??
"selected_tab": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "50%", 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [ 0, -19 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "locked_button@common_buttons.light_text_button": {
// ??/???
"enabled": false,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$button_text": "smith.title",
// 오버라이드 가능한 변수
"$pressed_button_name": "",
// 오버라이드 가능한 변수
"$button_text_max_size": [ "100%", 20 ],
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_tab_front",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_tab_front_hover",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_tab_front_hover",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_tab_front",
// 오버라이드 가능한 변수
"$locked_text_color": [ 0.5, 0.5, 0.5 ]
}},
{ "outline": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 겹치는 순서(숫자 클수록 위)
"layer": -2,
// ???
"alpha": 0.5,
// 가로/세로 크기
"size": [ "100% + 2px", "100% - 1px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, -1.5 ],
// ?? (R,G,B,A)
"color": "$title_text_color"
}}
]},
// ???/?? ??
"repair": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 가로/세로 크기
"size": [ "50%", 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [ 0, -16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": -8,
// 목록 아이템을 자동으로 생성
"factory":{
"name": "buttons",
// ??? ???
"control_name": "runeui-smithing.repair_core"
},
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}]},
// 다른 템플릿을 가져와서 확장(상속)
"repair_core@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 오버라이드 가능한 변수
"$button_text": "repair.title",
// 오버라이드 가능한 변수
"$button_text_max_size": [ "100%", 20 ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_tab_back",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_tab_back_hover",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_tab_back_hover",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_tab_back",
// 오버라이드 가능한 변수
"$default_text_color": [ 0.85, 0.85, 0.85 ],
// 오버라이드 가능한 변수
"$hover_text_color": "$dark_button_hover_text_color",
// 오버라이드 가능한 변수
"$pressed_text_color": "$dark_button_pressed_text_color",
// 오버라이드 가능한 변수
"$locked_text_color": "$dark_button_locked_text_color",
// 오버라이드 가능한 변수
"$button_offset": [ 0, -1 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#form_button_text - 'repair.title') = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}]
},
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@runeui-form.long_form_scrolling_panel": {
// 오버라이드 가능한 변수
"$scrolling_content": "runeui-smithing.scrolling_content"
},
// ??? ??
"scrolling_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
"use_child_anchors": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "padding_00": { "type": "panel", "size": [ "100%", 3 ]}},
{ "label_offset_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "main_label": {
// 글자 표시
"type": "label",
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 가로/세로 크기
"size": [ "100% - 6px", "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
"shadow": true,
// 보여줄 글자
"text": "#form_text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#form_text = ''))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100% + 6px", "100% + 6px" ],
// ?? ??
"clip_pixelperfect": true,
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 기준점에서 이동하는 거리
"offset": [ -2, 0 ],
// 사용할 이미지 경로
"texture": "textures/ui/solid_textbox"
}}
]}}
]}},
{ "padding": { "type": "panel", "size": [ "100%", 10 ]}},
{ "wrapping_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 12px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "element@runeui-form.element_factory": {
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-smithing.grid_button_panel_padding",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
}}
]}}
]},
// ???/?? ??
"grid_button_panel_padding": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"grid_item_template": "runeui-common.grid_button_core",
"grid_rescaling_type": "horizontal",
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#form_button_length - 1)",
// 결과가 들어갈 속성
"target_property_name": "#maximum_grid_items"
}
]},
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel_modal@runeui-form.custom_form_panel": {
// 오버라이드 가능한 변수
"$scrolling_content": "runeui-smithing.scrolling_modal"
},
// ???/?? ??
"scrolling_modal": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
"use_child_anchors": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "padding": { "type": "panel", "size": [ "100%", 3 ]}},
{ "generated_form@runeui-form.generated_contents": {}},
{ "submit_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.submit_custom_form",
// 가로/세로 크기
"size": [ "100% - 8px", 32 ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$default_text_color": [ 0.85, 0.85, 0.85 ],
// 오버라이드 가능한 변수
"$hover_text_color": "$dark_button_hover_text_color",
// 오버라이드 가능한 변수
"$pressed_text_color": "$dark_button_pressed_text_color",
// 오버라이드 가능한 변수
"$locked_text_color": "$dark_button_locked_text_color",
// 오버라이드 가능한 변수
"$button_text": "Smith!",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#submit_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}]
}}
]}
}
필요한 부분만 참고해서 가져가세요.
// 예제: unnoting.json
// 분류: UI 재료 모음 / .runeui
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 이 파일의 이름표(다른 파일에서 @로 참조)
"namespace": "runeui-unnoting",
// ???/?? ??
"element": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 오버라이드 가능한 변수
"$runeui:form_condition": "(not((#title_text - 'noting_table.unnote.title') = #title_text))",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#title_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "$runeui:form_condition",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "gradient@runeui-common.gradient_background": {
// 오버라이드 가능한 변수
"$rc_gradient_color1": [ 0.7686, 0.7098, 0.5137, 0 ],
// 오버라이드 가능한 변수
"$rc_gradient_color2": [ 0.7686, 0.7098, 0.5137, 0.7 ]
}},
{ "form@runeui-form.main_panel_no_buttons": {
// 가로/세로 크기
"size": [ 236, 200 ],
// 오버라이드 가능한 변수
"$title_text_color": [ 0.7686, 0.7098, 0.5137 ],
// 오버라이드 가능한 변수
"$panel_indent_size": [ "100% - 6px", "100% - 26px" ],
// 오버라이드 가능한 변수
"$panel_indent_offset": [ 0, 23 ],
// 오버라이드 가능한 변수
"$custom_background": "runeui-unnoting.dialog",
// 오버라이드 가능한 변수
"$rc_template": "runeui-unnoting.scrolling_panel",
// 오버라이드 가능한 변수
"$rc_custom_background": "runeui-unnoting.background",
// 오버라이드 가능한 변수
"$rc_custom_background_size": [ "100%", "100%" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 4
}}
]},
// ???/?? ??
"dialog": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{ "main@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-unnoting.dialog_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
}}
]},
// 다른 템플릿을 가져와서 확장(상속)
"background@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-unnoting.background_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// 다른 템플릿을 가져와서 확장(상속)
"dialog_modal@runeui-form.element_factory": {
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-unnoting.dialog_modal_core",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
},
// ???/?? ??
"background_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background_gradient@runeui-common.gradient_background_black": {
// 오버라이드 가능한 변수
"$rc_gradient_color1": [ 0.7686, 0.7098, 0.5137, 0 ],
// 오버라이드 가능한 변수
"$rc_gradient_color2": [ 0.7686, 0.7098, 0.5137, 0.7 ]
}},
{ "panel_background": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/form_body_background",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// ?? (R,G,B,A)
"color": "$title_text_color",
// 이미지 반복 여부
"tiled": true
}}
]},
// ???/?? ??
"dialog_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
// Change your question mark string here (unnoting)
// don't forget to delete this comment after you done with it -harlow
{ "toolbar@runeui-form.form_style_toolbar": {
// 오버라이드 가능한 변수
"$rc_hover_word": "runeui.help.smithing"
}},
{ "styler@runeui-form.form_style_main": {}},
{ "noting@runeui-unnoting.noting": {}},
{ "unnote_all@runeui-unnoting.unnote_all": {}},
{ "divider@runeui-common.title_bar_divider": {}},
{ "selected_tab@runeui-unnoting.selected_tab": {}}
]},
// ???/?? ??
"dialog_modal_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%" ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 이 안에 들어가는 부품 목록
"controls": [
{ "toolbar@runeui-form.form_style_toolbar": {
// 오버라이드 가능한 변수
"$runeui:help_button": false
}},
{ "styler@runeui-form.form_style_main": {}}
]},
// ???/?? ??
"selected_tab": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "50%", 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [ 0, -19 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "locked_button@common_buttons.light_text_button": {
// ??/???
"enabled": false,
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$button_text": "noting_table.unnote.title",
// 오버라이드 가능한 변수
"$pressed_button_name": "",
// 오버라이드 가능한 변수
"$button_text_max_size": [ "100%", 20 ],
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_tab_front",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_tab_front_hover",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_tab_front_hover",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_tab_front",
// 오버라이드 가능한 변수
"$locked_text_color": [ 0.5, 0.5, 0.5 ]
}},
{ "outline": {
// 이미지 표시
"type": "image",
// 사용할 이미지 경로
"texture": "textures/ui/White",
// 겹치는 순서(숫자 클수록 위)
"layer": -2,
// ???
"alpha": 0.5,
// 가로/세로 크기
"size": [ "100% + 2px", "100% - 1px" ],
// 기준점에서 이동하는 거리
"offset": [ 0, -1.5 ],
// ?? (R,G,B,A)
"color": "$title_text_color",
// 애니메이션 목록
"anims": [ "@runeui-common.outline_fade_starter" ]
}}
]},
// ???/?? ??
"unnote_all": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 가로/세로 크기
"size": [ 15, 15 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_right",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_right",
// 기준점에서 이동하는 거리
"offset": [ -40, 3 ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
// 목록 아이템을 자동으로 생성
"factory":{
"name": "buttons",
// ??? ???
"control_name": "runeui-unnoting.unnote_all_core"
},
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}]},
// ???/?? ??
"unnote_all_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 게임 값과 연결하는 규칙 목록
"bindings":[
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#form_button_text - 'noting_table.unnote.unnote_all') = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 오버라이드 가능한 변수
"$button_text_binding_type": "collection",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "form_buttons",
// 오버라이드 가능한 변수
"$button_text_max_size": [ "100%", 20 ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$focus_border_size_override": [ 0, 0 ],
// 오버라이드 가능한 변수
"$button_type_panel": "runeui-unnoting.unnote_all_icon",
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$default_text_color": [ 0.85, 0.85, 0.85 ],
// 오버라이드 가능한 변수
"$hover_text_color": "$dark_button_hover_text_color",
// 오버라이드 가능한 변수
"$pressed_text_color": "$dark_button_pressed_text_color",
// 오버라이드 가능한 변수
"$locked_text_color": "$dark_button_locked_text_color",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
}]
}}
]},
// 다른 템플릿을 가져와서 확장(상속)
"unnote_all_icon@runeui-common.help_button_default": {
// 사용할 이미지 경로
"texture": "textures/ui/noting/note",
// 가로/세로 크기
"size": [ 12, 12 ],
// 기준점에서 이동하는 거리
"offset": [ 0, 0 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "item_details_label": {
// 완전히 제거(공간도 없음)
"ignored": "(not($hover_state or $pressed_state))",
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#form_button_text",
// ?? ??
"text_alignment": "left",
"max_size": [ 300, "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 200,
// 기준점(어디에서 시작할지)
"anchor_from": "top_middle",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_middle",
// 기준점에서 이동하는 거리
"offset": [ 0, 19 ],
"shadow": true,
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -10,
// 가로/세로 크기
"size": [ "100% + 14px", "100% + 12px" ],
// 사용할 이미지 경로
"texture": "textures/ui/general_textbox"
}},
{ "shadow": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -11,
// ???
"alpha": 0.5,
// 가로/세로 크기
"size": [ "100% + 14px", "100% + 12px" ],
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// 기준점에서 이동하는 거리
"offset": [ 2, 2 ]
}}
]}}
]},
// ???/?? ??
"noting": {
// 데이터 목록을 반복 배치
"type": "collection_panel",
// 가로/세로 크기
"size": [ "50%", 20 ],
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
// 기준점에서 이동하는 거리
"offset": [ 0, -16 ],
// 겹치는 순서(숫자 클수록 위)
"layer": -8,
// 목록 아이템을 자동으로 생성
"factory":{
"name": "buttons",
// ??? ???
"control_name": "runeui-unnoting.noting_core"
},
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#collection_length"
}]},
// 다른 템플릿을 가져와서 확장(상속)
"noting_core@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 오버라이드 가능한 변수
"$button_text": "noting_table.note.title",
// 오버라이드 가능한 변수
"$button_text_max_size": [ "100%", 20 ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_tab_back",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_tab_back_hover",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_tab_back_hover",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_tab_back",
// 오버라이드 가능한 변수
"$default_text_color": [ 0.85, 0.85, 0.85 ],
// 오버라이드 가능한 변수
"$hover_text_color": "$dark_button_hover_text_color",
// 오버라이드 가능한 변수
"$pressed_text_color": "$dark_button_pressed_text_color",
// 오버라이드 가능한 변수
"$locked_text_color": "$dark_button_locked_text_color",
// 오버라이드 가능한 변수
"$button_offset": [ 0, -1 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#form_button_text - 'noting_table.note.title') = #form_button_text))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
},
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}]
},
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel@runeui-form.long_form_scrolling_panel": {
// 오버라이드 가능한 변수
"$scrolling_content": "runeui-unnoting.scrolling_content"
},
// ??? ??
"scrolling_content": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
"use_child_anchors": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "padding_00": { "type": "panel", "size": [ "100%", 3 ]}},
{ "label_offset_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "main_label": {
// 글자 표시
"type": "label",
// 기준점에서 이동하는 거리
"offset": [ 2, 0 ],
// 가로/세로 크기
"size": [ "100% - 6px", "default" ],
// 겹치는 순서(숫자 클수록 위)
"layer": 10,
"shadow": true,
// 보여줄 글자
"text": "#form_text",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_text" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not (#form_text = ''))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background": {
// 이미지 표시
"type": "image",
// 가로/세로 크기
"size": [ "100% + 6px", "100% + 6px" ],
// ?? ??
"clip_pixelperfect": true,
// 겹치는 순서(숫자 클수록 위)
"layer": -1,
// 기준점에서 이동하는 거리
"offset": [ -2, 0 ],
// 사용할 이미지 경로
"texture": "textures/ui/solid_textbox"
}}
]}}
]}},
{ "padding": { "type": "panel", "size": [ "100%", 10 ]}},
{ "wrapping_panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ "100% - 12px", "100%c" ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "element@runeui-form.element_factory": {
// 겹치는 순서(숫자 클수록 위)
"layer": 30,
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 오버라이드 가능한 변수
"$runeui:panel_control": "runeui-unnoting.grid_button_panel_padding",
// 오버라이드 가능한 변수
"$runeui:condition": "$runeui:form_condition"
}}
]}}
]},
// ???/?? ??
"grid_button_panel_padding": {
// 격자 컨테이너: 칸칸이 배치
"type": "grid",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
"grid_item_template": "runeui-unnoting.grid_button_core",
"grid_rescaling_type": "horizontal",
// 목록 이름
"collection_name": "form_buttons",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_length" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(#form_button_length - 2)",
// 결과가 들어갈 속성
"target_property_name": "#maximum_grid_items"
}
]},
// ???/?? ??
"grid_button_core": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 34, 34 ],
// 게임 값과 연결하는 규칙 목록
"bindings":[
{ "binding_name": "#form_button_texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#texture = '') or (#texture = 'loading')))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "panel": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 가로/세로 크기
"size": [ 32, 32 ],
// 이 안에 들어가는 부품 목록
"controls": [
{ "image": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 100,
// 가로/세로 크기
"size": [ 32, 32 ],
// 게임 값과 연결하는 규칙 목록
"bindings":[
{ "binding_name": "#form_button_texture",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_name": "#form_button_texture_file_system",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#texture_file_system",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
},
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "(not ((#texture = '') or (#texture = 'loading')))",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}]
}},
{ "outline": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 1,
// 가로/세로 크기
"size": [ 32, 32 ],
// 사용할 이미지 경로
"texture": "textures/ui/noting/default_frame"
}},
{ "button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.form_button_click",
// 오버라이드 가능한 변수
"$button_text": "#null",
// 오버라이드 가능한 변수
"$button_text_binding_type": "collection",
// 오버라이드 가능한 변수
"$button_text_grid_collection_name": "form_buttons",
// 오버라이드 가능한 변수
"$button_text_max_size": [ "100%", 20 ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_type": "collection_details",
// 목록 이름
"binding_collection_name": "form_buttons"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "hover": {
// 패널: 다른 부품을 담는 바닥판
"type": "panel",
// 이 안에 들어가는 부품 목록
"controls": [
{ "outline": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": 5,
// 가로/세로 크기
"size": [ 32, 32 ],
// 사용할 이미지 경로
"texture": "textures/ui/noting/hover_frame"
}},
{ "text_hover": {
// 마우스/커서 따라다니는 패널
"type": "input_panel",
// 가로/세로 크기
"size": [ "100%c", "100%c" ],
"follows_cursor": true,
"always_handle_pointer": true,
"always_listen_to_input": true,
"allow_clipping": false,
// 겹치는 순서(숫자 클수록 위)
"layer": 120,
// 이 안에 들어가는 부품 목록
"controls": [
{ "label_core": {
// 글자 표시
"type": "label",
// 보여줄 글자
"text": "#form_button_text",
"shadow": true,
// 기준점에서 이동하는 거리
"offset": [ "60%", 0 ],
"max_size": [ 220, "default" ],
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#form_button_text",
// 목록 데이터를 반복 연결
"binding_type": "collection",
// 목록 이름
"binding_collection_name": "form_buttons"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "background": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -10,
// 가로/세로 크기
"size": [ "100% + 9px", "100% + 6px" ],
// 사용할 이미지 경로
"texture": "textures/ui/general_textbox"
}},
{ "shadow": {
// 이미지 표시
"type": "image",
// 겹치는 순서(숫자 클수록 위)
"layer": -11,
// ???
"alpha": 0.5,
// 가로/세로 크기
"size": [ "100% + 9px", "100% + 6px" ],
// 사용할 이미지 경로
"texture": "textures/ui/hud_tip_text_background",
// 기준점에서 이동하는 거리
"offset": [ 2, 2 ]
}}
]}}
]}}
]}}
]}}
]}}
]},
// 다른 템플릿을 가져와서 확장(상속)
"scrolling_panel_modal@runeui-form.custom_form_panel": {
// 오버라이드 가능한 변수
"$scrolling_content": "runeui-unnoting.scrolling_modal"
},
// ???/?? ??
"scrolling_modal": {
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ "100%", "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 기준점(어디에서 시작할지)
"anchor_from": "top_left",
// 붙일 위치(어디에 놓을지)
"anchor_to": "top_left",
"use_child_anchors": true,
// 이 안에 들어가는 부품 목록
"controls": [
{ "padding": { "type": "panel", "size": [ "100%", 3 ]}},
{ "generated_form@runeui-form.generated_contents": {}},
{ "submit_button@common_buttons.light_text_button": {
// 오버라이드 가능한 변수
"$pressed_button_name": "button.submit_custom_form",
// 가로/세로 크기
"size": [ "100% - 8px", 32 ],
// 오버라이드 가능한 변수
"$button_image_size": [ "100%", "100%" ],
// 오버라이드 가능한 변수
"$border_visible": false,
// 오버라이드 가능한 변수
"$border_alpha": 0,
// 오버라이드 가능한 변수
"$button_image_fill": true,
// 오버라이드 가능한 변수
"$default_button_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$hover_button_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$pressed_button_texture": "textures/ui/form_button_pressed",
// 오버라이드 가능한 변수
"$locked_button_texture": "textures/ui/form_button",
// 오버라이드 가능한 변수
"$default_text_color": [ 0.85, 0.85, 0.85 ],
// 오버라이드 가능한 변수
"$hover_text_color": "$dark_button_hover_text_color",
// 오버라이드 가능한 변수
"$pressed_text_color": "$dark_button_pressed_text_color",
// 오버라이드 가능한 변수
"$locked_text_color": "$dark_button_locked_text_color",
// 오버라이드 가능한 변수
"$button_text": "Smith!",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#submit_button_visible",
// 가져온 값을 다른 속성으로 연결
"binding_name_override": "#visible"
}]
}}
]}
}
필요한 부분만 참고해서 가져가세요.
// 예제: warning.json
// 분류: UI 재료 모음 / .runeui
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{ "namespace": "runeui-warning",
// Put those text in a lang by yourself lol
"root_panel": {
// 완전히 제거(공간도 없음)
"ignored": true,
// 줄맞춤 컨테이너: 가로/세로로 자동 배치
"type": "stack_panel",
// 가로/세로 크기
"size": [ 320, "100%c" ],
// 쌓는 방향(가로/세로)
"orientation": "vertical",
// 게임 값과 연결하는 규칙 목록
"bindings": [
{ "binding_name": "#hud_title_text_string" },
{ "binding_type": "view",
// 계산식/참조 값
"source_property_name": "((#hud_title_text_string - 'Hp:') = #hud_title_text_string)",
// 결과가 들어갈 속성
"target_property_name": "#visible"
}],
// 이 안에 들어가는 부품 목록
"controls": [
{ "dialog_box@runeui-common.dialog_box": {
// 오버라이드 가능한 변수
"$dialog_text": "WARNING - Your game is incompatible with this version of RuneCraft.\nWhy this might be?"
}},
{ "padding_01": { "type": "panel", "size": [ 2, 16 ]}},
{ "dialog_box@runeui-common.dialog_box": {
// 오버라이드 가능한 변수
"$dialog_text": "1. You are not using the correct version of Minecraft for this add-on (mention current version for the add-on)"
}},
{ "padding_02": { "type": "panel", "size": [ 2, 16 ]}},
{ "dialog_box@runeui-common.dialog_box": {
// 오버라이드 가능한 변수
"$dialog_text": "2. You do not have the following toggles enabled\n - Custom Biomes\n - Upcoming Creator Features\n - Beta-APIs"
}}
]
// Crashes issue, had to start over for now...
}}
필요한 부분만 참고해서 가져가세요.
// 예제: copper_spear.texture_set.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
"format_version": "1.21.30",
// ???/?? ??
"minecraft:texture_set": {
// ?? (R,G,B,A)
"color": "copper_spear",
"metalness_emissive_roughness_subsurface": "copper_spear_mers"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: diamond_spear.texture_set.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
"format_version": "1.21.30",
// ???/?? ??
"minecraft:texture_set": {
// ?? (R,G,B,A)
"color": "diamond_spear",
"metalness_emissive_roughness_subsurface": "diamond_spear_mers"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: experiencebarempty.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 테두리 늘림(9분할)
"nineslice_size": [
1,
0,
1,
0
],
// ???/?? ??
"base_size": [
182,
5
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: experiencebarfull.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 테두리 늘림(9분할)
"nineslice_size": [
1,
0,
1,
0
],
// ???/?? ??
"base_size": [
182,
5
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: flipbook_textures.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
[
{
"atlas_tile": "group_display_herbs",
"flipbook_texture": "textures/items/group_display_herbs",
"ticks_per_frame": 20,
"blend_frames": false
},
{
"atlas_tile": "group_display_sponges",
"flipbook_texture": "textures/items/group_display_sponges",
"ticks_per_frame": 20,
"blend_frames": false
},
{
"atlas_tile": "group_display_fragments",
"flipbook_texture": "textures/items/group_display_fragments",
"ticks_per_frame": 20,
"blend_frames": false
},
{
"atlas_tile": "group_display_buriables",
"flipbook_texture": "textures/items/group_display_buriables",
"ticks_per_frame": 20,
"blend_frames": false
},
{
"atlas_tile": "group_display_potions",
"flipbook_texture": "textures/items/group_display_potions",
"ticks_per_frame": 20,
"blend_frames": false
},
{
"atlas_tile": "runecraft_furnace_active",
"flipbook_texture": "textures/blocks/furnace_active",
"ticks_per_frame": 20,
"blend_frames": true
},
{
"atlas_tile": "fan_spinning_1",
"flipbook_texture": "textures/blocks/fan_spinning_1",
"ticks_per_frame": 1,
"blend_frames": true
}
]
필요한 부분만 참고해서 가져가세요.
// 예제: form_button.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 테두리 늘림(9분할)
"nineslice_size": 5,
// ???/?? ??
"base_size": [
12,
11
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: form_button_pressed.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 테두리 늘림(9분할)
"nineslice_size": 5,
// ???/?? ??
"base_size": [
12,
11
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: form_scrolling_box.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 테두리 늘림(9분할)
"nineslice_size": 3,
// ???/?? ??
"base_size": [
6,
6
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: form_scrolling_box_bg.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 테두리 늘림(9분할)
"nineslice_size": 3,
// ???/?? ??
"base_size": [
6,
6
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: form_scrolling_pane_bg.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 테두리 늘림(9분할)
"nineslice_size": 1,
// ???/?? ??
"base_size": [
1,
1
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: form_tab_back.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 테두리 늘림(9분할)
"nineslice_size": 4,
// ???/?? ??
"base_size": [
12,
11
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: form_tab_back_full.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 테두리 늘림(9분할)
"nineslice_size": 4,
// ???/?? ??
"base_size": [
12,
11
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: form_tab_back_hover.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 테두리 늘림(9분할)
"nineslice_size": 4,
// ???/?? ??
"base_size": [
12,
11
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: form_tab_back_hover_full.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 테두리 늘림(9분할)
"nineslice_size": 4,
// ???/?? ??
"base_size": [
12,
11
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: form_tab_front.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 테두리 늘림(9분할)
"nineslice_size": 4,
// ???/?? ??
"base_size": [
12,
11
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: form_tab_front_hover.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 테두리 늘림(9분할)
"nineslice_size": 4,
// ???/?? ??
"base_size": [
12,
11
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: form_tab_left.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 테두리 늘림(9분할)
"nineslice_size": 4,
// ???/?? ??
"base_size": [
12,
11
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: form_tab_left_front.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 테두리 늘림(9분할)
"nineslice_size": 4,
// ???/?? ??
"base_size": [
12,
11
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: form_tab_left_front_hover.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 테두리 늘림(9분할)
"nineslice_size": 4,
// ???/?? ??
"base_size": [
12,
11
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: form_tab_left_hover.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 테두리 늘림(9분할)
"nineslice_size": 4,
// ???/?? ??
"base_size": [
12,
11
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: general_form.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 테두리 늘림(9분할)
"nineslice_size": 4,
// ???/?? ??
"base_size": [
10,
10
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: general_textbox.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 테두리 늘림(9분할)
"nineslice_size": 4,
// ???/?? ??
"base_size": [
12,
12
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: glint.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{ "frames": [
{
"filename": "glint 0.ase",
"frame": { "x": 0, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 150
},
{
"filename": "glint 1.ase",
"frame": { "x": 64, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 150
},
{
"filename": "glint 2.ase",
"frame": { "x": 128, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 150
},
{
"filename": "glint 3.ase",
"frame": { "x": 192, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 150
},
{
"filename": "glint 4.ase",
"frame": { "x": 256, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 150
},
{
"filename": "glint 5.ase",
"frame": { "x": 320, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 150
},
{
"filename": "glint 6.ase",
"frame": { "x": 384, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 150
},
{
"filename": "glint 7.ase",
"frame": { "x": 448, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 150
},
{
"filename": "glint 8.ase",
"frame": { "x": 512, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 150
},
{
"filename": "glint 9.ase",
"frame": { "x": 576, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 150
},
{
"filename": "glint 10.ase",
"frame": { "x": 640, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 150
},
{
"filename": "glint 11.ase",
"frame": { "x": 704, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 150
},
{
"filename": "glint 12.ase",
"frame": { "x": 768, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 150
},
{
"filename": "glint 13.ase",
"frame": { "x": 832, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 150
},
{
"filename": "glint 14.ase",
"frame": { "x": 896, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 150
},
{
"filename": "glint 15.ase",
"frame": { "x": 960, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 150
},
{
"filename": "glint 16.ase",
"frame": { "x": 1024, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 150
}
],
// ???/?? ??
"meta": {
"app": "http://www.aseprite.org/",
"version": "1.3.14.4-dev",
"image": "glint.png",
"format": "RGBA8888",
// 가로/세로 크기
"size": { "w": 1088, "h": 64 },
"scale": "1",
// ???/?? ??
"frameTags": [
],
// ???/?? ??
"layers": [
{ "name": "Layer 1", "opacity": 255, "blendMode": "normal" }
],
// ???/?? ??
"slices": [
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: gold_spear.texture_set.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
"format_version": "1.21.30",
// ???/?? ??
"minecraft:texture_set": {
// ?? (R,G,B,A)
"color": "gold_spear",
"metalness_emissive_roughness_subsurface": "gold_spear_mers"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: iron_spear.texture_set.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
"format_version": "1.21.30",
// ???/?? ??
"minecraft:texture_set": {
// ?? (R,G,B,A)
"color": "iron_spear",
"metalness_emissive_roughness_subsurface": "iron_spear_mers"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: item_texture.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
"resource_pack-name": "vanilla",
"texture_name": "atlas.items",
// ???/?? ??
"texture_data": {
// ???/?? ??
"pharaoh_tomb": {
"textures": "textures/items/exploration/records/pharaoh_tomb"
},
// ???/?? ??
"pharaoh_tomb_fragment": {
"textures": "textures/items/exploration/records/pharaoh_tomb_fragment"
},
// ???/?? ??
"adventure": {
"textures": "textures/items/exploration/records/adventure"
},
// ???/?? ??
"adventure_fragment": {
"textures": "textures/items/exploration/records/adventure_fragment"
},
// ???/?? ??
"barbarianism": {
"textures": "textures/items/exploration/records/barbarianism"
},
// ???/?? ??
"barbarianism_fragment": {
"textures": "textures/items/exploration/records/barbarianism_fragment"
},
// ???/?? ??
"beneath_the_stronghold": {
"textures": "textures/items/exploration/records/beneath_the_stronghold"
},
// ???/?? ??
"beneath_the_stronghold_fragment": {
"textures": "textures/items/exploration/records/beneath_the_stronghold_fragment"
},
// ???/?? ??
"dogs_of_war": {
"textures": "textures/items/exploration/records/dogs_of_war"
},
// ???/?? ??
"dogs_of_war_fragment": {
"textures": "textures/items/exploration/records/dogs_of_war_fragment"
},
// ???/?? ??
"end": {
"textures": "textures/items/exploration/records/end"
},
// ???/?? ??
"end_fragment": {
"textures": "textures/items/exploration/records/end_fragment"
},
// ???/?? ??
"jungle_trouble": {
"textures": "textures/items/exploration/records/jungle_trouble"
},
// ???/?? ??
"jungle_trouble_fragment": {
"textures": "textures/items/exploration/records/jungle_trouble_fragment"
},
// ???/?? ??
"medieval": {
"textures": "textures/items/exploration/records/medieval"
},
// ???/?? ??
"medieval_fragment": {
"textures": "textures/items/exploration/records/medieval_fragment"
},
// ???/?? ??
"nether_realm": {
"textures": "textures/items/exploration/records/nether_realm"
},
// ???/?? ??
"nether_realm_fragment": {
"textures": "textures/items/exploration/records/nether_realm_fragment"
},
// ???/?? ??
"out_at_the_mines": {
"textures": "textures/items/exploration/records/out_at_the_mines"
},
// ???/?? ??
"out_at_the_mines_fragment": {
"textures": "textures/items/exploration/records/out_at_the_mines_fragment"
},
// ???/?? ??
"sea_shanty": {
"textures": "textures/items/exploration/records/sea_shanty"
},
// ???/?? ??
"sea_shanty_fragment": {
"textures": "textures/items/exploration/records/sea_shanty_fragment"
},
// ???/?? ??
"spooky": {
"textures": "textures/items/exploration/records/spooky"
},
// ???/?? ??
"spooky_fragment": {
"textures": "textures/items/exploration/records/spooky_fragment"
},
// ???/?? ??
"stratosphere": {
"textures": "textures/items/exploration/records/stratosphere"
},
// ???/?? ??
"stratosphere_fragment": {
"textures": "textures/items/exploration/records/stratosphere_fragment"
},
// ???/?? ??
"village": {
"textures": "textures/items/exploration/records/village"
},
// ???/?? ??
"village_fragment": {
"textures": "textures/items/exploration/records/village_fragment"
},
// ???/?? ??
"zamorak_zoo": {
"textures": "textures/items/exploration/records/zamorak_zoo"
},
// ???/?? ??
"zamorak_zoo_fragment": {
"textures": "textures/items/exploration/records/zamorak_zoo_fragment"
},
// ???/?? ??
"ranged_skillcape": {
"textures": "textures/items/skillcapes/ranged_skillcape"
},
// ???/?? ??
"agility_skillcape": {
"textures": "textures/items/skillcapes/agility_skillcape"
},
// ???/?? ??
"thieving_skillcape": {
"textures": "textures/items/skillcapes/thieving_skillcape"
},
// ???/?? ??
"defense_skillcape": {
"textures": "textures/items/skillcapes/defense_skillcape"
},
// ???/?? ??
"attack_skillcape": {
"textures": "textures/items/skillcapes/attack_skillcape"
},
// ???/?? ??
"prayer_skillcape": {
"textures": "textures/items/skillcapes/prayer_skillcape"
},
// ???/?? ??
"constitution_skillcape": {
"textures": "textures/items/skillcapes/constitution_skillcape"
},
// ???/?? ??
"farming_skillcape": {
"textures": "textures/items/skillcapes/farming_skillcape"
},
// ???/?? ??
"mining_skillcape": {
"textures": "textures/items/skillcapes/mining_skillcape"
},
// ???/?? ??
"woodcutting_skillcape": {
"textures": "textures/items/skillcapes/woodcutting_skillcape"
},
// ???/?? ??
"digging_skillcape": {
"textures": "textures/items/skillcapes/digging_skillcape"
},
// ???/?? ??
"herblore_skillcape": {
"textures": "textures/items/skillcapes/herblore_skillcape"
},
// ???/?? ??
"smithing_skillcape": {
"textures": "textures/items/skillcapes/smithing_skillcape"
},
// ???/?? ??
"graceful_boots": {
"textures": "textures/items/agility/graceful_boots"
},
// ???/?? ??
"graceful_leggings": {
"textures": "textures/items/agility/graceful_leggings"
},
// ???/?? ??
"graceful_top": {
"textures": "textures/items/agility/graceful_top"
},
// ???/?? ??
"graceful_hood": {
"textures": "textures/items/agility/graceful_hood"
},
// ???/?? ??
"iron_helm": {
"textures": "textures/items/defense/iron_helm"
},
// ???/?? ??
"iron_platebody": {
"textures": "textures/items/defense/iron_platebody"
},
// ???/?? ??
"iron_platelegs": {
"textures": "textures/items/defense/iron_platelegs"
},
// ???/?? ??
"iron_boots": {
"textures": "textures/items/defense/iron_boots"
},
// ???/?? ??
"steel_helm": {
"textures": "textures/items/defense/steel_helm"
},
// ???/?? ??
"steel_platebody": {
"textures": "textures/items/defense/steel_platebody"
},
// ???/?? ??
"steel_platelegs": {
"textures": "textures/items/defense/steel_platelegs"
},
// ???/?? ??
"steel_boots": {
"textures": "textures/items/defense/steel_boots"
},
// ???/?? ??
"black_helm": {
"textures": "textures/items/defense/black_helm"
},
// ???/?? ??
"black_platebody": {
"textures": "textures/items/defense/black_platebody"
},
// ???/?? ??
"black_platelegs": {
"textures": "textures/items/defense/black_platelegs"
},
// ???/?? ??
"black_boots": {
"textures": "textures/items/defense/black_boots"
},
// ???/?? ??
"gold_helm": {
"textures": "textures/items/defense/gold_helm"
},
// ???/?? ??
"gold_platebody": {
"textures": "textures/items/defense/gold_platebody"
},
// ???/?? ??
"gold_platelegs": {
"textures": "textures/items/defense/gold_platelegs"
},
// ???/?? ??
"gold_boots": {
"textures": "textures/items/defense/gold_boots"
},
// ???/?? ??
"mithril_helm": {
"textures": "textures/items/defense/mithril_helm"
},
// ???/?? ??
"mithril_platebody": {
"textures": "textures/items/defense/mithril_platebody"
},
// ???/?? ??
"mithril_platelegs": {
"textures": "textures/items/defense/mithril_platelegs"
},
// ???/?? ??
"mithril_boots": {
"textures": "textures/items/defense/mithril_boots"
},
// ???/?? ??
"adamant_helm": {
"textures": "textures/items/defense/adamant_helm"
},
// ???/?? ??
"adamant_platebody": {
"textures": "textures/items/defense/adamant_platebody"
},
// ???/?? ??
"adamant_platelegs": {
"textures": "textures/items/defense/adamant_platelegs"
},
// ???/?? ??
"adamant_boots": {
"textures": "textures/items/defense/adamant_boots"
},
// ???/?? ??
"rune_helm": {
"textures": "textures/items/defense/rune_helm"
},
// ???/?? ??
"rune_platebody": {
"textures": "textures/items/defense/rune_platebody"
},
// ???/?? ??
"rune_platelegs": {
"textures": "textures/items/defense/rune_platelegs"
},
// ???/?? ??
"rune_boots": {
"textures": "textures/items/defense/rune_boots"
},
// ???/?? ??
"wooden_sword": {
"textures": "textures/items/tools/wooden_sword"
},
// ???/?? ??
"steel_sword": {
"textures": "textures/items/tools/steel_sword"
},
// ???/?? ??
"iron_sword": {
"textures": "textures/items/tools/iron_sword"
},
// ???/?? ??
"gold_sword": {
"textures": "textures/items/tools/gold_sword"
},
// ???/?? ??
"black_sword": {
"textures": "textures/items/tools/black_sword"
},
// ???/?? ??
"mithril_sword": {
"textures": "textures/items/tools/mithril_sword"
},
// ???/?? ??
"adamant_sword": {
"textures": "textures/items/tools/adamant_sword"
},
// ???/?? ??
"rune_sword": {
"textures": "textures/items/tools/rune_sword"
},
// ???/?? ??
"wooden_hoe": {
"textures": "textures/items/tools/wooden_hoe"
},
// ???/?? ??
"steel_hoe": {
"textures": "textures/items/tools/steel_hoe"
},
// ???/?? ??
"iron_hoe": {
"textures": "textures/items/tools/iron_hoe"
},
// ???/?? ??
"gold_hoe": {
"textures": "textures/items/tools/gold_hoe"
},
// ???/?? ??
"black_hoe": {
"textures": "textures/items/tools/black_hoe"
},
// ???/?? ??
"mithril_hoe": {
"textures": "textures/items/tools/mithril_hoe"
},
// ???/?? ??
"adamant_hoe": {
"textures": "textures/items/tools/adamant_hoe"
},
// ???/?? ??
"rune_hoe": {
"textures": "textures/items/tools/rune_hoe"
},
// ???/?? ??
"wooden_shovel": {
"textures": "textures/items/tools/wooden_shovel"
},
// ???/?? ??
"steel_shovel": {
"textures": "textures/items/tools/steel_shovel"
},
// ???/?? ??
"iron_shovel": {
"textures": "textures/items/tools/iron_shovel"
},
// ???/?? ??
"gold_shovel": {
"textures": "textures/items/tools/gold_shovel"
},
// ???/?? ??
"black_shovel": {
"textures": "textures/items/tools/black_shovel"
},
// ???/?? ??
"mithril_shovel": {
"textures": "textures/items/tools/mithril_shovel"
},
// ???/?? ??
"adamant_shovel": {
"textures": "textures/items/tools/adamant_shovel"
},
// ???/?? ??
"rune_shovel": {
"textures": "textures/items/tools/rune_shovel"
},
// ???/?? ??
"wooden_axe": {
"textures": "textures/items/tools/wooden_axe"
},
// ???/?? ??
"steel_axe": {
"textures": "textures/items/tools/steel_axe"
},
// ???/?? ??
"iron_axe": {
"textures": "textures/items/tools/iron_axe"
},
// ???/?? ??
"gold_axe": {
"textures": "textures/items/tools/gold_axe"
},
// ???/?? ??
"black_axe": {
"textures": "textures/items/tools/black_axe"
},
// ???/?? ??
"mithril_axe": {
"textures": "textures/items/tools/mithril_axe"
},
// ???/?? ??
"adamant_axe": {
"textures": "textures/items/tools/adamant_axe"
},
// ???/?? ??
"rune_axe": {
"textures": "textures/items/tools/rune_axe"
},
// ???/?? ??
"wooden_pickaxe": {
"textures": "textures/items/tools/wooden_pickaxe"
},
// ???/?? ??
"steel_pickaxe": {
"textures": "textures/items/tools/steel_pickaxe"
},
// ???/?? ??
"iron_pickaxe": {
"textures": "textures/items/tools/iron_pickaxe"
},
// ???/?? ??
"gold_pickaxe": {
"textures": "textures/items/tools/gold_pickaxe"
},
// ???/?? ??
"black_pickaxe": {
"textures": "textures/items/tools/black_pickaxe"
},
// ???/?? ??
"mithril_pickaxe": {
"textures": "textures/items/tools/mithril_pickaxe"
},
// ???/?? ??
"adamant_pickaxe": {
"textures": "textures/items/tools/adamant_pickaxe"
},
// ???/?? ??
"rune_pickaxe": {
"textures": "textures/items/tools/rune_pickaxe"
},
// ???/?? ??
"rogue_boots": {
"textures": "textures/items/thieving/rogue_boots"
},
// ???/?? ??
"rogue_mask": {
"textures": "textures/items/thieving/rogue_mask"
},
// ???/?? ??
"rogue_top": {
"textures": "textures/items/thieving/rogue_top"
},
// ???/?? ??
"rogue_trousers": {
"textures": "textures/items/thieving/rogue_trousers"
},
// ???/?? ??
"purple_party_hat": {
"textures": "textures/items/thieving/purple_party_hat"
},
// ???/?? ??
"royal_blue_party_hat": {
"textures": "textures/items/exploration/royal_blue_party_hat"
},
// ???/?? ??
"forest_green_party_hat": {
"textures": "textures/items/exploration/forest_green_party_hat"
},
// ???/?? ??
"silver_party_hat": {
"textures": "textures/items/exploration/silver_party_hat"
},
// ???/?? ??
"ore_party_hat": {
"textures": "textures/items/exploration/ore_party_hat"
},
// ???/?? ??
"tree_party_hat": {
"textures": "textures/items/exploration/tree_party_hat"
},
// ???/?? ??
"dirt_party_hat": {
"textures": "textures/items/exploration/dirt_party_hat"
},
// ???/?? ??
"stat_tracker": {
"textures": "textures/items/exploration/stat_tracker"
},
// ???/?? ??
"options": {
"textures": "textures/items/exploration/options_icon"
},
// ???/?? ??
"blood_red_party_hat": {
"textures": "textures/items/tools/blood_red_party_hat"
},
// ???/?? ??
"bones": {
"textures": "textures/items/prayer/bones"
},
// ???/?? ??
"big_bones": {
"textures": "textures/items/prayer/big_bones"
},
// ???/?? ??
"burnt_bones": {
"textures": "textures/items/prayer/burnt_bones"
},
// ???/?? ??
"dragon_bones": {
"textures": "textures/items/prayer/dragon_bones"
},
// ???/?? ??
"warden_core": {
"textures": "textures/items/prayer/warden_core"
},
// ???/?? ??
"wither_spine": {
"textures": "textures/items/prayer/wither_spine"
},
// ???/?? ??
"shade_remains": {
"textures": "textures/items/prayer/shade_remains"
},
// ???/?? ??
"stats_viewer": {
"textures": "textures/items/stats/stats_icon"
},
// ???/?? ??
"magma_cube_remains": {
"textures": "textures/items/prayer/magma_cube_remains"
},
// ???/?? ??
"ghast_remains": {
"textures": "textures/items/prayer/ghast_remains"
},
// ???/?? ??
"slime_remains": {
"textures": "textures/items/prayer/slime_remains"
},
// ???/?? ??
"gilded_altar_centerpiece": {
"textures": "textures/items/prayer/gilded_altar_centerpiece"
},
// ???/?? ??
"dark_green_party_hat": {
"textures": "textures/items/exploration/dark_green_party_hat"
},
// ???/?? ??
"leather_boots": {
"textures": "textures/items/defense/leather_boots.png"
},
// ???/?? ??
"leather_boots_dyed": {
"textures": "textures/items/defense/leather_boots.tga"
},
// ???/?? ??
"leather_body": {
"textures": "textures/items/defense/leather_body.png"
},
// ???/?? ??
"leather_body_dyed": {
"textures": "textures/items/defense/leather_body.tga"
},
// ???/?? ??
"leather_leggings": {
"textures": "textures/items/defense/leather_leggings.png"
},
// ???/?? ??
"leather_leggings_dyed": {
"textures": "textures/items/defense/leather_leggings.tga"
},
// ???/?? ??
"leather_cap": {
"textures": "textures/items/defense/leather_cap.png"
},
// ???/?? ??
"leather_cap_dyed": {
"textures": "textures/items/defense/leather_cap.tga"
},
// ???/?? ??
"iron_ingot": {
"textures": "textures/items/ingots/iron_ingot"
},
// ???/?? ??
"adamant_ingot": {
"textures": "textures/items/ingots/adamant_ingot"
},
// ???/?? ??
"rune_ingot": {
"textures": "textures/items/ingots/rune_ingot"
},
// ???/?? ??
"mithril_ingot": {
"textures": "textures/items/ingots/mithril_ingot"
},
// ???/?? ??
"steel_ingot": {
"textures": "textures/items/ingots/steel_ingot"
},
// ???/?? ??
"black_ingot": {
"textures": "textures/items/ingots/black_ingot"
},
// ???/?? ??
"copper_ingot": {
"textures": "textures/items/ingots/copper_ingot"
},
// ???/?? ??
"copper_helm": {
"textures": "textures/items/defense/copper_helm"
},
// ???/?? ??
"copper_platebody": {
"textures": "textures/items/defense/copper_platebody"
},
// ???/?? ??
"copper_platelegs": {
"textures": "textures/items/defense/copper_platelegs"
},
// ???/?? ??
"copper_boots": {
"textures": "textures/items/defense/copper_boots"
},
// ???/?? ??
"copper_sword": {
"textures": "textures/items/tools/copper_sword"
},
// ???/?? ??
"copper_pickaxe": {
"textures": "textures/items/tools/copper_pickaxe"
},
// ???/?? ??
"copper_axe": {
"textures": "textures/items/tools/copper_axe"
},
// ???/?? ??
"copper_shovel": {
"textures": "textures/items/tools/copper_shovel"
},
// ???/?? ??
"copper_hoe": {
"textures": "textures/items/tools/copper_hoe"
},
// ???/?? ??
"fancy_boots": {
"textures": "textures/items/exploration/fancy_boots"
},
// ???/?? ??
"fighting_boots": {
"textures": "textures/items/exploration/fighting_boots"
},
// ???/?? ??
"adamant_ore": {
"textures": "textures/items/ores/adamant_ore"
},
// ???/?? ??
"raw_copper": {
"textures": "textures/items/ores/copper_ore"
},
// ???/?? ??
"raw_iron": {
"textures": "textures/items/ores/iron_ore"
},
// ???/?? ??
"mithril_ore": {
"textures": "textures/items/ores/mithril_ore"
},
// ???/?? ??
"rune_ore": {
"textures": "textures/items/ores/rune_ore"
},
// ???/?? ??
"gold_nugget": {
"textures": "textures/items/ingots/gold_nugget"
},
// ???/?? ??
"gold_ingot": {
"textures": "textures/items/ingots/gold_ingot"
},
// ???/?? ??
"iron_nugget": {
"textures": "textures/items/ingots/iron_nugget"
},
// ???/?? ??
"uncut_emerald": {
"textures": "textures/items/ores/uncut_emerald_gem"
},
// ???/?? ??
"uncut_jade": {
"textures": "textures/items/ores/uncut_jade_gem"
},
// ???/?? ??
"uncut_opal": {
"textures": "textures/items/ores/uncut_opal_gem"
},
// ???/?? ??
"uncut_red_topaz": {
"textures": "textures/items/ores/uncut_red_topaz_gem"
},
// ???/?? ??
"uncut_diamond": {
"textures": "textures/items/ores/uncut_diamond_gem"
},
// ???/?? ??
"uncut_ruby": {
"textures": "textures/items/ores/uncut_ruby_gem"
},
// ???/?? ??
"uncut_sapphire": {
"textures": "textures/items/ores/uncut_sapphire_gem"
},
// ???/?? ??
"emerald": {
"textures": "textures/items/ingots/emerald_gem"
},
// ???/?? ??
"jade": {
"textures": "textures/items/ingots/jade_gem"
},
// ???/?? ??
"opal": {
"textures": "textures/items/ingots/opal_gem"
},
// ???/?? ??
"red_topaz": {
"textures": "textures/items/ingots/red_topaz_gem"
},
// ???/?? ??
"diamond": {
"textures": "textures/items/ingots/diamond_gem"
},
// ???/?? ??
"ruby": {
"textures": "textures/items/ingots/ruby_gem"
},
// ???/?? ??
"sapphire": {
"textures": "textures/items/ingots/sapphire_gem"
},
// ???/?? ??
"bag_full_of_gems": {
"textures": "textures/items/ingots/bag_full_of_gems"
},
// ???/?? ??
"prayer_book": {
"textures": "textures/items/prayer/prayer_book"
},
// ???/?? ??
"prayer_book_dyed": {
"textures": "textures/items/prayer/prayer_book.tga"
},
//mob heads
"witch_head": {
"textures": "textures/items/mob_heads/witch_head"
},
// ???/?? ??
"panda_head": {
"textures": "textures/items/mob_heads/panda_head"
},
// ???/?? ??
"panda_head_brown": {
"textures": "textures/items/mob_heads/panda_head_brown"
},
// ???/?? ??
"llama_head_brown": {
"textures": "textures/items/mob_heads/llama_head_brown"
},
// ???/?? ??
"llama_head_cream": {
"textures": "textures/items/mob_heads/llama_head_cream"
},
// ???/?? ??
"llama_head_white": {
"textures": "textures/items/mob_heads/llama_head_white"
},
// ???/?? ??
"llama_head_gray": {
"textures": "textures/items/mob_heads/llama_head_gray"
},
// ???/?? ??
"skillmasters_sword": {
"textures": "textures/items/tools/skillmaster/skillmasters_sword"
},
// ???/?? ??
"leather_horse_armor": {
"textures": "textures/items/defense/horse/leather_horse_armor"
},
// ???/?? ??
"iron_horse_armor": {
"textures": "textures/items/defense/horse/iron_horse_armor"
},
// ???/?? ??
"black_horse_armor": {
"textures": "textures/items/defense/horse/black_horse_armor"
},
// ???/?? ??
"steel_horse_armor": {
"textures": "textures/items/defense/horse/steel_horse_armor"
},
// ???/?? ??
"adamant_horse_armor": {
"textures": "textures/items/defense/horse/adamant_horse_armor"
},
// ???/?? ??
"mithril_horse_armor": {
"textures": "textures/items/defense/horse/mithril_horse_armor"
},
// ???/?? ??
"rune_horse_armor": {
"textures": "textures/items/defense/horse/rune_horse_armor"
},
//Fishing
"small_fishing_net": {
"textures": "textures/items/fishing/small_fishing_net"
},
//Farming
"low_grade_fertilizer": {
"textures": "textures/items/farming/low_grade_fertilizer"
},
// ???/?? ??
"mid_grade_fertilizer": {
"textures": "textures/items/farming/mid_grade_fertilizer"
},
// ???/?? ??
"high_grade_fertilizer": {
"textures": "textures/items/farming/high_grade_fertilizer"
},
// ???/?? ??
"compost_bucket_empty": {
"textures": "textures/items/farming/compost_bucket_empty"
},
// ???/?? ??
"plant_cure": {
"textures": "textures/items/farming/plant_cure"
},
//Herblore
"fireflax": {
"textures": "textures/items/herblore/fireflax"
},
// ???/?? ??
"grimy_bubblo": {
"textures": "textures/items/herblore/grimy_bubblo"
},
// ???/?? ??
"grimy_endurill": {
"textures": "textures/items/herblore/grimy_endurill"
},
// ???/?? ??
"grimy_enhantoe": {
"textures": "textures/items/herblore/grimy_enhantoe"
},
// ???/?? ??
"grimy_jumia": {
"textures": "textures/items/herblore/grimy_jumia"
},
// ???/?? ??
"grimy_reveril": {
"textures": "textures/items/herblore/grimy_reveril"
},
// ???/?? ??
"grimy_shiftar": {
"textures": "textures/items/herblore/grimy_shiftar"
},
// ???/?? ??
"grimy_slowent": {
"textures": "textures/items/herblore/grimy_slowent"
},
// ???/?? ??
"grimy_strontar": {
"textures": "textures/items/herblore/grimy_strontar"
},
// ???/?? ??
"grimy_swiftine": {
"textures": "textures/items/herblore/grimy_swiftine"
},
// ???/?? ??
"grimy_telerit": {
"textures": "textures/items/herblore/grimy_telerit"
},
// ???/?? ??
"grimy_windrill": {
"textures": "textures/items/herblore/grimy_windrill"
},
// ???/?? ??
"grimy_shapis": {
"textures": "textures/items/herblore/grimy_shapis"
},
// ???/?? ??
"grimy_visadyme": {
"textures": "textures/items/herblore/grimy_visadyme"
},
// ???/?? ??
"shapis": {
"textures": "textures/items/herblore/shapis"
},
// ???/?? ??
"shapis_seeds": {
"textures": "textures/items/farming/shapis_seeds"
},
// ???/?? ??
"visadyme_seeds": {
"textures": "textures/items/farming/visadyme_seeds"
},
// ???/?? ??
"bubblo": {
"textures": "textures/items/herblore/bubblo"
},
// ???/?? ??
"endurill": {
"textures": "textures/items/herblore/endurill"
},
// ???/?? ??
"enhantoe": {
"textures": "textures/items/herblore/enhantoe"
},
// ???/?? ??
"jumia": {
"textures": "textures/items/herblore/jumia"
},
// ???/?? ??
"reveril": {
"textures": "textures/items/herblore/reveril"
},
// ???/?? ??
"shiftar": {
"textures": "textures/items/herblore/shiftar"
},
// ???/?? ??
"slowent": {
"textures": "textures/items/herblore/slowent"
},
// ???/?? ??
"visadyme": {
"textures": "textures/items/herblore/visadyme"
},
// ???/?? ??
"strontar": {
"textures": "textures/items/herblore/strontar"
},
// ???/?? ??
"swiftine": {
"textures": "textures/items/herblore/swiftine"
},
// ???/?? ??
"telerit": {
"textures": "textures/items/herblore/telerit"
},
// ???/?? ??
"windrill": {
"textures": "textures/items/herblore/windrill"
},
// ???/?? ??
"bubblo_seeds": {
"textures": "textures/items/farming/bubblo_seeds"
},
// ???/?? ??
"endurill_seeds": {
"textures": "textures/items/farming/endurill_seeds"
},
// ???/?? ??
"enhantoe_seeds": {
"textures": "textures/items/farming/enhantoe_seeds"
},
// ???/?? ??
"jumia_seeds": {
"textures": "textures/items/farming/jumia_seeds"
},
// ???/?? ??
"reveril_seeds": {
"textures": "textures/items/farming/reveril_seeds"
},
// ???/?? ??
"shiftar_seeds": {
"textures": "textures/items/farming/shiftar_seeds"
},
// ???/?? ??
"slowent_seeds": {
"textures": "textures/items/farming/slowent_seeds"
},
// ???/?? ??
"strontar_seeds": {
"textures": "textures/items/farming/strontar_seeds"
},
// ???/?? ??
"swiftine_seeds": {
"textures": "textures/items/farming/swiftine_seeds"
},
// ???/?? ??
"telerit_seeds": {
"textures": "textures/items/farming/telerit_seeds"
},
// ???/?? ??
"windrill_seeds": {
"textures": "textures/items/farming/windrill_seeds"
},
//potions
"potion_bottle_empty": {
"textures": "textures/items/herblore/potions/glass_bottle"
},
// ???/?? ??
"honey_bottle": {
"textures": "textures/items/herblore/potions/honey_bottle"
},
// ???/?? ??
"potion_bottle_drinkable": {
"textures": "textures/items/herblore/potions/water_bottle"
},
// ???/?? ??
"jump_potion_4": {
"textures": "textures/items/herblore/potions/jump_potion_4"
},
// ???/?? ??
"jump_potion_3": {
"textures": "textures/items/herblore/potions/jump_potion_3"
},
// ???/?? ??
"jump_potion_2": {
"textures": "textures/items/herblore/potions/jump_potion_2"
},
// ???/?? ??
"jump_potion_1": {
"textures": "textures/items/herblore/potions/jump_potion_1"
},
// ???/?? ??
"blindness_potion_4": {
"textures": "textures/items/herblore/potions/blindness_potion_4"
},
// ???/?? ??
"blindness_potion_3": {
"textures": "textures/items/herblore/potions/blindness_potion_3"
},
// ???/?? ??
"blindness_potion_2": {
"textures": "textures/items/herblore/potions/blindness_potion_2"
},
// ???/?? ??
"blindness_potion_1": {
"textures": "textures/items/herblore/potions/blindness_potion_1"
},
// ???/?? ??
"leap_potion_4": {
"textures": "textures/items/herblore/potions/leap_potion_4"
},
// ???/?? ??
"leap_potion_3": {
"textures": "textures/items/herblore/potions/leap_potion_3"
},
// ???/?? ??
"leap_potion_2": {
"textures": "textures/items/herblore/potions/leap_potion_2"
},
// ???/?? ??
"leap_potion_1": {
"textures": "textures/items/herblore/potions/leap_potion_1"
},
// ???/?? ??
"fire_resistance_potion_4": {
"textures": "textures/items/herblore/potions/fire_resistance_potion_4"
},
// ???/?? ??
"fire_resistance_potion_3": {
"textures": "textures/items/herblore/potions/fire_resistance_potion_3"
},
// ???/?? ??
"fire_resistance_potion_2": {
"textures": "textures/items/herblore/potions/fire_resistance_potion_2"
},
// ???/?? ??
"fire_resistance_potion_1": {
"textures": "textures/items/herblore/potions/fire_resistance_potion_1"
},
// ???/?? ??
"stamina_potion_4": {
"textures": "textures/items/herblore/potions/stamina_potion_4"
},
// ???/?? ??
"stamina_potion_3": {
"textures": "textures/items/herblore/potions/stamina_potion_3"
},
// ???/?? ??
"stamina_potion_2": {
"textures": "textures/items/herblore/potions/stamina_potion_2"
},
// ???/?? ??
"stamina_potion_1": {
"textures": "textures/items/herblore/potions/stamina_potion_1"
},
// ???/?? ??
"cure_potion_4": {
"textures": "textures/items/herblore/potions/cure_potion_4"
},
// ???/?? ??
"cure_potion_3": {
"textures": "textures/items/herblore/potions/cure_potion_3"
},
// ???/?? ??
"cure_potion_2": {
"textures": "textures/items/herblore/potions/cure_potion_2"
},
// ???/?? ??
"cure_potion_1": {
"textures": "textures/items/herblore/potions/cure_potion_1"
},
// ???/?? ??
"grow_potion_4": {
"textures": "textures/items/herblore/potions/grow_potion_4"
},
// ???/?? ??
"grow_potion_3": {
"textures": "textures/items/herblore/potions/grow_potion_3"
},
// ???/?? ??
"grow_potion_2": {
"textures": "textures/items/herblore/potions/grow_potion_2"
},
// ???/?? ??
"grow_potion_1": {
"textures": "textures/items/herblore/potions/grow_potion_1"
},
// ???/?? ??
"haste_potion_4": {
"textures": "textures/items/herblore/potions/haste_potion_4"
},
// ???/?? ??
"haste_potion_3": {
"textures": "textures/items/herblore/potions/haste_potion_3"
},
// ???/?? ??
"haste_potion_2": {
"textures": "textures/items/herblore/potions/haste_potion_2"
},
// ???/?? ??
"haste_potion_1": {
"textures": "textures/items/herblore/potions/haste_potion_1"
},
// ???/?? ??
"invisibility_potion_4": {
"textures": "textures/items/herblore/potions/invisibility_potion_4"
},
// ???/?? ??
"invisibility_potion_3": {
"textures": "textures/items/herblore/potions/invisibility_potion_3"
},
// ???/?? ??
"invisibility_potion_2": {
"textures": "textures/items/herblore/potions/invisibility_potion_2"
},
// ???/?? ??
"invisibility_potion_1": {
"textures": "textures/items/herblore/potions/invisibility_potion_1"
},
// ???/?? ??
"levitation_potion_4": {
"textures": "textures/items/herblore/potions/levitation_potion_4"
},
// ???/?? ??
"levitation_potion_3": {
"textures": "textures/items/herblore/potions/levitation_potion_3"
},
// ???/?? ??
"levitation_potion_2": {
"textures": "textures/items/herblore/potions/levitation_potion_2"
},
// ???/?? ??
"levitation_potion_1": {
"textures": "textures/items/herblore/potions/levitation_potion_1"
},
// ???/?? ??
"night_vision_potion_4": {
"textures": "textures/items/herblore/potions/night_vision_potion_4"
},
// ???/?? ??
"night_vision_potion_3": {
"textures": "textures/items/herblore/potions/night_vision_potion_3"
},
// ???/?? ??
"night_vision_potion_2": {
"textures": "textures/items/herblore/potions/night_vision_potion_2"
},
// ???/?? ??
"night_vision_potion_1": {
"textures": "textures/items/herblore/potions/night_vision_potion_1"
},
// ???/?? ??
"prayer_potion_4": {
"textures": "textures/items/herblore/potions/prayer_potion_4"
},
// ???/?? ??
"prayer_potion_3": {
"textures": "textures/items/herblore/potions/prayer_potion_3"
},
// ???/?? ??
"prayer_potion_2": {
"textures": "textures/items/herblore/potions/prayer_potion_2"
},
// ???/?? ??
"prayer_potion_1": {
"textures": "textures/items/herblore/potions/prayer_potion_1"
},
// ???/?? ??
"shrink_potion_4": {
"textures": "textures/items/herblore/potions/shrink_potion_4"
},
// ???/?? ??
"shrink_potion_3": {
"textures": "textures/items/herblore/potions/shrink_potion_3"
},
// ???/?? ??
"shrink_potion_2": {
"textures": "textures/items/herblore/potions/shrink_potion_2"
},
// ???/?? ??
"shrink_potion_1": {
"textures": "textures/items/herblore/potions/shrink_potion_1"
},
// ???/?? ??
"slow_falling_potion_4": {
"textures": "textures/items/herblore/potions/slow_falling_potion_4"
},
// ???/?? ??
"slow_falling_potion_3": {
"textures": "textures/items/herblore/potions/slow_falling_potion_3"
},
// ???/?? ??
"slow_falling_potion_2": {
"textures": "textures/items/herblore/potions/slow_falling_potion_2"
},
// ???/?? ??
"slow_falling_potion_1": {
"textures": "textures/items/herblore/potions/slow_falling_potion_1"
},
// ???/?? ??
"strength_potion_4": {
"textures": "textures/items/herblore/potions/strength_potion_4"
},
// ???/?? ??
"strength_potion_3": {
"textures": "textures/items/herblore/potions/strength_potion_3"
},
// ???/?? ??
"strength_potion_2": {
"textures": "textures/items/herblore/potions/strength_potion_2"
},
// ???/?? ??
"strength_potion_1": {
"textures": "textures/items/herblore/potions/strength_potion_1"
},
// ???/?? ??
"swiftness_potion_4": {
"textures": "textures/items/herblore/potions/swiftness_potion_4"
},
// ???/?? ??
"swiftness_potion_3": {
"textures": "textures/items/herblore/potions/swiftness_potion_3"
},
// ???/?? ??
"swiftness_potion_2": {
"textures": "textures/items/herblore/potions/swiftness_potion_2"
},
// ???/?? ??
"swiftness_potion_1": {
"textures": "textures/items/herblore/potions/swiftness_potion_1"
},
// ???/?? ??
"teleport_potion_4": {
"textures": "textures/items/herblore/potions/teleport_potion_4"
},
// ???/?? ??
"teleport_potion_3": {
"textures": "textures/items/herblore/potions/teleport_potion_3"
},
// ???/?? ??
"teleport_potion_2": {
"textures": "textures/items/herblore/potions/teleport_potion_2"
},
// ???/?? ??
"teleport_potion_1": {
"textures": "textures/items/herblore/potions/teleport_potion_1"
},
// ???/?? ??
"transformation_potion_4": {
"textures": "textures/items/herblore/potions/transformation_potion_4"
},
// ???/?? ??
"transformation_potion_3": {
"textures": "textures/items/herblore/potions/transformation_potion_3"
},
// ???/?? ??
"transformation_potion_2": {
"textures": "textures/items/herblore/potions/transformation_potion_2"
},
// ???/?? ??
"transformation_potion_1": {
"textures": "textures/items/herblore/potions/transformation_potion_1"
},
// ???/?? ??
"water_breathing_potion_4": {
"textures": "textures/items/herblore/potions/water_breathing_potion_4"
},
// ???/?? ??
"water_breathing_potion_3": {
"textures": "textures/items/herblore/potions/water_breathing_potion_3"
},
// ???/?? ??
"water_breathing_potion_2": {
"textures": "textures/items/herblore/potions/water_breathing_potion_2"
},
// ???/?? ??
"water_breathing_potion_1": {
"textures": "textures/items/herblore/potions/water_breathing_potion_1"
},
// ???/?? ??
"self_destruct_potion_4": {
"textures": "textures/items/herblore/potions/self_destruct_potion_4"
},
// ???/?? ??
"self_destruct_potion_3": {
"textures": "textures/items/herblore/potions/self_destruct_potion_3"
},
// ???/?? ??
"self_destruct_potion_2": {
"textures": "textures/items/herblore/potions/self_destruct_potion_2"
},
// ???/?? ??
"self_destruct_potion_1": {
"textures": "textures/items/herblore/potions/self_destruct_potion_1"
},
// ???/?? ??
"resistance_potion_4": {
"textures": "textures/items/herblore/potions/resistance_potion_4"
},
// ???/?? ??
"resistance_potion_3": {
"textures": "textures/items/herblore/potions/resistance_potion_3"
},
// ???/?? ??
"resistance_potion_2": {
"textures": "textures/items/herblore/potions/resistance_potion_2"
},
// ???/?? ??
"resistance_potion_1": {
"textures": "textures/items/herblore/potions/resistance_potion_1"
},
// ???/?? ??
"darkness_potion_4": {
"textures": "textures/items/herblore/potions/darkness_potion_4"
},
// ???/?? ??
"darkness_potion_3": {
"textures": "textures/items/herblore/potions/darkness_potion_3"
},
// ???/?? ??
"darkness_potion_2": {
"textures": "textures/items/herblore/potions/darkness_potion_2"
},
// ???/?? ??
"darkness_potion_1": {
"textures": "textures/items/herblore/potions/darkness_potion_1"
},
// ???/?? ??
"infested_potion_4": {
"textures": "textures/items/herblore/potions/infested_potion_4"
},
// ???/?? ??
"infested_potion_3": {
"textures": "textures/items/herblore/potions/infested_potion_3"
},
// ???/?? ??
"infested_potion_2": {
"textures": "textures/items/herblore/potions/infested_potion_2"
},
// ???/?? ??
"infested_potion_1": {
"textures": "textures/items/herblore/potions/infested_potion_1"
},
// ???/?? ??
"oozing_potion_4": {
"textures": "textures/items/herblore/potions/oozing_potion_4"
},
// ???/?? ??
"oozing_potion_3": {
"textures": "textures/items/herblore/potions/oozing_potion_3"
},
// ???/?? ??
"oozing_potion_2": {
"textures": "textures/items/herblore/potions/oozing_potion_2"
},
// ???/?? ??
"oozing_potion_1": {
"textures": "textures/items/herblore/potions/oozing_potion_1"
},
// ???/?? ??
"poison_potion_4": {
"textures": "textures/items/herblore/potions/poison_potion_4"
},
// ???/?? ??
"poison_potion_3": {
"textures": "textures/items/herblore/potions/poison_potion_3"
},
// ???/?? ??
"poison_potion_2": {
"textures": "textures/items/herblore/potions/poison_potion_2"
},
// ???/?? ??
"poison_potion_1": {
"textures": "textures/items/herblore/potions/poison_potion_1"
},
// ???/?? ??
"slowness_potion_4": {
"textures": "textures/items/herblore/potions/slowness_potion_4"
},
// ???/?? ??
"slowness_potion_3": {
"textures": "textures/items/herblore/potions/slowness_potion_3"
},
// ???/?? ??
"slowness_potion_2": {
"textures": "textures/items/herblore/potions/slowness_potion_2"
},
// ???/?? ??
"slowness_potion_1": {
"textures": "textures/items/herblore/potions/slowness_potion_1"
},
// ???/?? ??
"weakness_potion_4": {
"textures": "textures/items/herblore/potions/weakness_potion_4"
},
// ???/?? ??
"weakness_potion_3": {
"textures": "textures/items/herblore/potions/weakness_potion_3"
},
// ???/?? ??
"weakness_potion_2": {
"textures": "textures/items/herblore/potions/weakness_potion_2"
},
// ???/?? ??
"weakness_potion_1": {
"textures": "textures/items/herblore/potions/weakness_potion_1"
},
// ???/?? ??
"weaving_potion_4": {
"textures": "textures/items/herblore/potions/weaving_potion_4"
},
// ???/?? ??
"weaving_potion_3": {
"textures": "textures/items/herblore/potions/weaving_potion_3"
},
// ???/?? ??
"weaving_potion_2": {
"textures": "textures/items/herblore/potions/weaving_potion_2"
},
// ???/?? ??
"weaving_potion_1": {
"textures": "textures/items/herblore/potions/weaving_potion_1"
},
// ???/?? ??
"wind_potion_4": {
"textures": "textures/items/herblore/potions/wind_potion_4"
},
// ???/?? ??
"wind_potion_3": {
"textures": "textures/items/herblore/potions/wind_potion_3"
},
// ???/?? ??
"wind_potion_2": {
"textures": "textures/items/herblore/potions/wind_potion_2"
},
// ???/?? ??
"wind_potion_1": {
"textures": "textures/items/herblore/potions/wind_potion_1"
},
// ???/?? ??
"below_potion_4": {
"textures": "textures/items/herblore/potions/below_potion_4"
},
// ???/?? ??
"below_potion_3": {
"textures": "textures/items/herblore/potions/below_potion_3"
},
// ???/?? ??
"below_potion_2": {
"textures": "textures/items/herblore/potions/below_potion_2"
},
// ???/?? ??
"below_potion_1": {
"textures": "textures/items/herblore/potions/below_potion_1"
},
// ???/?? ??
"surface_potion_4": {
"textures": "textures/items/herblore/potions/surface_potion_4"
},
// ???/?? ??
"surface_potion_3": {
"textures": "textures/items/herblore/potions/surface_potion_3"
},
// ???/?? ??
"surface_potion_2": {
"textures": "textures/items/herblore/potions/surface_potion_2"
},
// ???/?? ??
"surface_potion_1": {
"textures": "textures/items/herblore/potions/surface_potion_1"
},
// ???/?? ??
"roar_potion_4": {
"textures": "textures/items/herblore/potions/roar_potion_4"
},
// ???/?? ??
"roar_potion_3": {
"textures": "textures/items/herblore/potions/roar_potion_3"
},
// ???/?? ??
"roar_potion_2": {
"textures": "textures/items/herblore/potions/roar_potion_2"
},
// ???/?? ??
"roar_potion_1": {
"textures": "textures/items/herblore/potions/roar_potion_1"
},
// ???/?? ??
"totem_of_preservation": {
"textures": "textures/items/totem_of_preservation"
},
// ???/?? ??
"leather_chestplate": {
"textures": "textures/items/leather_chestplate"
},
// ???/?? ??
"white_rose": {
"textures": "textures/blocks/farming/white_rose"
},
// ???/?? ??
"uncharged_wither_core": {
"textures": "textures/items/uncharged_wither_core"
},
// ???/?? ??
"charged_wither_core": {
"textures": "textures/items/charged_wither_core"
},
// ???/?? ??
"adamant_nugget": {
"textures": "textures/items/ingots/adamant_nugget"
},
// ???/?? ??
"steel_nugget": {
"textures": "textures/items/ingots/steel_nugget"
},
// ???/?? ??
"rune_nugget": {
"textures": "textures/items/ingots/rune_nugget"
},
// ???/?? ??
"mithril_nugget": {
"textures": "textures/items/ingots/mithril_nugget"
},
// ???/?? ??
"black_nugget": {
"textures": "textures/items/ingots/black_nugget"
},
// ???/?? ??
"copper_nugget": {
"textures": "textures/items/ingots/copper_nugget"
},
// ???/?? ??
"beginner_bow": {
"textures": "textures/items/ranged/beginner_bow_standby"
},
// ???/?? ??
"dark_oak_bow": {
"textures": "textures/items/ranged/dark_oak_bow_standby"
},
// ???/?? ??
"cherry_bow": {
"textures": "textures/items/ranged/cherry_bow_standby"
},
// ???/?? ??
"pale_bow": {
"textures": "textures/items/ranged/pale_bow_standby"
},
// ???/?? ??
"mangrove_bow": {
"textures": "textures/items/ranged/mangrove_bow_standby"
},
// ???/?? ??
"warped_bow": {
"textures": "textures/items/ranged/warped_bow_standby"
},
// ???/?? ??
"crimson_bow": {
"textures": "textures/items/ranged/crimson_bow_standby"
},
// ???/?? ??
"flint_arrow": {
"textures": "textures/items/ranged/flint_arrow"
},
// ???/?? ??
"copper_arrow": {
"textures": "textures/items/ranged/copper_arrow"
},
// ???/?? ??
"iron_arrow": {
"textures": "textures/items/ranged/iron_arrow"
},
// ???/?? ??
"steel_arrow": {
"textures": "textures/items/ranged/steel_arrow"
},
// ???/?? ??
"mithril_arrow": {
"textures": "textures/items/ranged/mithril_arrow"
},
// ???/?? ??
"adamant_arrow": {
"textures": "textures/items/ranged/adamant_arrow"
},
// ???/?? ??
"rune_arrow": {
"textures": "textures/items/ranged/rune_arrow"
},
// ???/?? ??
"flint_arrow_tips": {
"textures": "textures/items/ranged/flint_arrow_tips"
},
// ???/?? ??
"copper_arrow_tips": {
"textures": "textures/items/ranged/copper_arrow_tips"
},
// ???/?? ??
"iron_arrow_tips": {
"textures": "textures/items/ranged/iron_arrow_tips"
},
// ???/?? ??
"steel_arrow_tips": {
"textures": "textures/items/ranged/steel_arrow_tips"
},
// ???/?? ??
"mithril_arrow_tips": {
"textures": "textures/items/ranged/mithril_arrow_tips"
},
// ???/?? ??
"adamant_arrow_tips": {
"textures": "textures/items/ranged/adamant_arrow_tips"
},
// ???/?? ??
"rune_arrow_tips": {
"textures": "textures/items/ranged/rune_arrow_tips"
},
// ???/?? ??
"smithing_party_hat": {
"textures": "textures/items/exploration/smithing_party_hat"
},
// ???/?? ??
"acacia_chest_boat_note": {
"textures": "textures/items/note_items/acacia_chest_boat_note"
},
// ???/?? ??
"adamant_axe_note": {
"textures": "textures/items/note_items/adamant_axe_note"
},
// ???/?? ??
"adamant_boots_note": {
"textures": "textures/items/note_items/adamant_boots_note"
},
// ???/?? ??
"adamant_helm_note": {
"textures": "textures/items/note_items/adamant_helm_note"
},
// ???/?? ??
"adamant_hoe_note": {
"textures": "textures/items/note_items/adamant_hoe_note"
},
// ???/?? ??
"adamant_horse_armor_note": {
"textures": "textures/items/note_items/adamant_horse_armor_note"
},
// ???/?? ??
"adamant_pickaxe_note": {
"textures": "textures/items/note_items/adamant_pickaxe_note"
},
// ???/?? ??
"adamant_platebody_note": {
"textures": "textures/items/note_items/adamant_platebody_note"
},
// ???/?? ??
"adamant_platelegs_note": {
"textures": "textures/items/note_items/adamant_platelegs_note"
},
// ???/?? ??
"adamant_shovel_note": {
"textures": "textures/items/note_items/adamant_shovel_note"
},
// ???/?? ??
"adamant_sword_note": {
"textures": "textures/items/note_items/adamant_sword_note"
},
// ???/?? ??
"adventure_note": {
"textures": "textures/items/note_items/adventure_note"
},
// ???/?? ??
"agility_skillcape_note": {
"textures": "textures/items/note_items/agility_skillcape_note"
},
// ???/?? ??
"attack_skillcape_note": {
"textures": "textures/items/note_items/attack_skillcape_note"
},
// ???/?? ??
"bamboo_chest_raft_note": {
"textures": "textures/items/note_items/bamboo_chest_raft_note"
},
// ???/?? ??
"bamboo_raft_note": {
"textures": "textures/items/note_items/bamboo_raft_note"
},
// ???/?? ??
"barbarianism_note": {
"textures": "textures/items/note_items/barbarianism_note"
},
// ???/?? ??
"below_potion_1_note": {
"textures": "textures/items/note_items/below_potion_1_note"
},
// ???/?? ??
"below_potion_2_note": {
"textures": "textures/items/note_items/below_potion_2_note"
},
// ???/?? ??
"below_potion_3_note": {
"textures": "textures/items/note_items/below_potion_3_note"
},
// ???/?? ??
"below_potion_4_note": {
"textures": "textures/items/note_items/below_potion_4_note"
},
// ???/?? ??
"beneath_the_stronghold_note": {
"textures": "textures/items/note_items/beneath_the_stronghold_note"
},
// ???/?? ??
"birch_chest_boat_note": {
"textures": "textures/items/note_items/birch_chest_boat_note"
},
// ???/?? ??
"black_axe_note": {
"textures": "textures/items/note_items/black_axe_note"
},
// ???/?? ??
"black_boots_note": {
"textures": "textures/items/note_items/black_boots_note"
},
// ???/?? ??
"black_helm_note": {
"textures": "textures/items/note_items/black_helm_note"
},
// ???/?? ??
"black_hoe_note": {
"textures": "textures/items/note_items/black_hoe_note"
},
// ???/?? ??
"black_horse_armor_note": {
"textures": "textures/items/note_items/black_horse_armor_note"
},
// ???/?? ??
"black_pickaxe_note": {
"textures": "textures/items/note_items/black_pickaxe_note"
},
// ???/?? ??
"black_platebody_note": {
"textures": "textures/items/note_items/black_platebody_note"
},
// ???/?? ??
"black_platelegs_note": {
"textures": "textures/items/note_items/black_platelegs_note"
},
// ???/?? ??
"black_shovel_note": {
"textures": "textures/items/note_items/black_shovel_note"
},
// ???/?? ??
"black_sword_note": {
"textures": "textures/items/note_items/black_sword_note"
},
// ???/?? ??
"blindness_potion_1_note": {
"textures": "textures/items/note_items/blindness_potion_1_note"
},
// ???/?? ??
"blindness_potion_2_note": {
"textures": "textures/items/note_items/blindness_potion_2_note"
},
// ???/?? ??
"blindness_potion_3_note": {
"textures": "textures/items/note_items/blindness_potion_3_note"
},
// ???/?? ??
"blindness_potion_4_note": {
"textures": "textures/items/note_items/blindness_potion_4_note"
},
// ???/?? ??
"blood_red_party_hat_note": {
"textures": "textures/items/note_items/blood_red_party_hat_note"
},
// ???/?? ??
"boat_acacia_note": {
"textures": "textures/items/note_items/boat_acacia_note"
},
// ???/?? ??
"boat_birch_note": {
"textures": "textures/items/note_items/boat_birch_note"
},
// ???/?? ??
"boat_darkoak_note": {
"textures": "textures/items/note_items/boat_darkoak_note"
},
// ???/?? ??
"boat_dark_oak_note": {
"textures": "textures/items/note_items/boat_dark_oak_note"
},
// ???/?? ??
"boat_jungle_note": {
"textures": "textures/items/note_items/boat_jungle_note"
},
// ???/?? ??
"boat_note": {
"textures": "textures/items/note_items/boat_note"
},
// ???/?? ??
"boat_oak_note": {
"textures": "textures/items/note_items/boat_oak_note"
},
// ???/?? ??
"boat_spruce_note": {
"textures": "textures/items/note_items/boat_spruce_note"
},
// ???/?? ??
"bordure_indented_banner_pattern_note": {
"textures": "textures/items/note_items/bordure_indented_banner_pattern_note"
},
// ???/?? ??
"bronze_horse_armor_note": {
"textures": "textures/items/note_items/bronze_horse_armor_note"
},
// ???/?? ??
"charged_wither_core_note": {
"textures": "textures/items/note_items/charged_wither_core_note"
},
// ???/?? ??
"cherry_boat_note": {
"textures": "textures/items/note_items/cherry_boat_note"
},
// ???/?? ??
"cherry_chest_boat_note": {
"textures": "textures/items/note_items/cherry_chest_boat_note"
},
// ???/?? ??
"constitution_skillcape_note": {
"textures": "textures/items/note_items/constitution_skillcape_note"
},
// ???/?? ??
"copper_axe_note": {
"textures": "textures/items/note_items/copper_axe_note"
},
// ???/?? ??
"copper_boots_note": {
"textures": "textures/items/note_items/copper_boots_note"
},
// ???/?? ??
"copper_helm_note": {
"textures": "textures/items/note_items/copper_helm_note"
},
// ???/?? ??
"copper_hoe_note": {
"textures": "textures/items/note_items/copper_hoe_note"
},
// ???/?? ??
"copper_pickaxe_note": {
"textures": "textures/items/note_items/copper_pickaxe_note"
},
// ???/?? ??
"copper_platebody_note": {
"textures": "textures/items/note_items/copper_platebody_note"
},
// ???/?? ??
"copper_platelegs_note": {
"textures": "textures/items/note_items/copper_platelegs_note"
},
// ???/?? ??
"copper_shovel_note": {
"textures": "textures/items/note_items/copper_shovel_note"
},
// ???/?? ??
"copper_sword_note": {
"textures": "textures/items/note_items/copper_sword_note"
},
// ???/?? ??
"creeper_banner_pattern_note": {
"textures": "textures/items/note_items/creeper_banner_pattern_note"
},
// ???/?? ??
"cure_potion_1_note": {
"textures": "textures/items/note_items/cure_potion_1_note"
},
// ???/?? ??
"cure_potion_2_note": {
"textures": "textures/items/note_items/cure_potion_2_note"
},
// ???/?? ??
"cure_potion_3_note": {
"textures": "textures/items/note_items/cure_potion_3_note"
},
// ???/?? ??
"cure_potion_4_note": {
"textures": "textures/items/note_items/cure_potion_4_note"
},
// ???/?? ??
"darkness_potion_1_note": {
"textures": "textures/items/note_items/darkness_potion_1_note"
},
// ???/?? ??
"darkness_potion_2_note": {
"textures": "textures/items/note_items/darkness_potion_2_note"
},
// ???/?? ??
"darkness_potion_3_note": {
"textures": "textures/items/note_items/darkness_potion_3_note"
},
// ???/?? ??
"darkness_potion_4_note": {
"textures": "textures/items/note_items/darkness_potion_4_note"
},
// ???/?? ??
"dark_green_party_hat_note": {
"textures": "textures/items/note_items/dark_green_party_hat_note"
},
// ???/?? ??
"dark_oak_chest_boat_note": {
"textures": "textures/items/note_items/dark_oak_chest_boat_note"
},
// ???/?? ??
"defense_skillcape_note": {
"textures": "textures/items/note_items/defense_skillcape_note"
},
// ???/?? ??
"digging_skillcape_note": {
"textures": "textures/items/note_items/digging_skillcape_note"
},
// ???/?? ??
"dirt_party_hat_note": {
"textures": "textures/items/note_items/dirt_party_hat_note"
},
// ???/?? ??
"dogs_of_war_note": {
"textures": "textures/items/note_items/dogs_of_war_note"
},
// ???/?? ??
"end_note": {
"textures": "textures/items/note_items/end_note"
},
// ???/?? ??
"fancy_boots_note": {
"textures": "textures/items/note_items/fancy_boots_note"
},
// ???/?? ??
"farming_skillcape_note": {
"textures": "textures/items/note_items/farming_skillcape_note"
},
// ???/?? ??
"field_masoned_banner_pattern_note": {
"textures": "textures/items/note_items/field_masoned_banner_pattern_note"
},
// ???/?? ??
"fighting_boots_note": {
"textures": "textures/items/note_items/fighting_boots_note"
},
// ???/?? ??
"fire_resistance_potion_1_note": {
"textures": "textures/items/note_items/fire_resistance_potion_1_note"
},
// ???/?? ??
"fire_resistance_potion_2_note": {
"textures": "textures/items/note_items/fire_resistance_potion_2_note"
},
// ???/?? ??
"fire_resistance_potion_3_note": {
"textures": "textures/items/note_items/fire_resistance_potion_3_note"
},
// ???/?? ??
"fire_resistance_potion_4_note": {
"textures": "textures/items/note_items/fire_resistance_potion_4_note"
},
// ???/?? ??
"flower_banner_pattern_note": {
"textures": "textures/items/note_items/flower_banner_pattern_note"
},
// ???/?? ??
"flow_banner_pattern_note": {
"textures": "textures/items/note_items/flow_banner_pattern_note"
},
// ???/?? ??
"forest_green_party_hat_note": {
"textures": "textures/items/note_items/forest_green_party_hat_note"
},
// ???/?? ??
"glass_bottle_note": {
"textures": "textures/items/note_items/glass_bottle_note"
},
// ???/?? ??
"globe_banner_pattern_note": {
"textures": "textures/items/note_items/globe_banner_pattern_note"
},
// ???/?? ??
"gold_axe_note": {
"textures": "textures/items/note_items/gold_axe_note"
},
// ???/?? ??
"gold_boots_note": {
"textures": "textures/items/note_items/gold_boots_note"
},
// ???/?? ??
"gold_helm_note": {
"textures": "textures/items/note_items/gold_helm_note"
},
// ???/?? ??
"gold_hoe_note": {
"textures": "textures/items/note_items/gold_hoe_note"
},
// ???/?? ??
"gold_pickaxe_note": {
"textures": "textures/items/note_items/gold_pickaxe_note"
},
// ???/?? ??
"gold_platebody_note": {
"textures": "textures/items/note_items/gold_platebody_note"
},
// ???/?? ??
"gold_platelegs_note": {
"textures": "textures/items/note_items/gold_platelegs_note"
},
// ???/?? ??
"gold_shovel_note": {
"textures": "textures/items/note_items/gold_shovel_note"
},
// ???/?? ??
"gold_sword_note": {
"textures": "textures/items/note_items/gold_sword_note"
},
// ???/?? ??
"graceful_boots_note": {
"textures": "textures/items/note_items/graceful_boots_note"
},
// ???/?? ??
"graceful_hood_note": {
"textures": "textures/items/note_items/graceful_hood_note"
},
// ???/?? ??
"graceful_leggings_note": {
"textures": "textures/items/note_items/graceful_leggings_note"
},
// ???/?? ??
"graceful_top_note": {
"textures": "textures/items/note_items/graceful_top_note"
},
// ???/?? ??
"grow_potion_1_note": {
"textures": "textures/items/note_items/grow_potion_1_note"
},
// ???/?? ??
"grow_potion_2_note": {
"textures": "textures/items/note_items/grow_potion_2_note"
},
// ???/?? ??
"grow_potion_3_note": {
"textures": "textures/items/note_items/grow_potion_3_note"
},
// ???/?? ??
"grow_potion_4_note": {
"textures": "textures/items/note_items/grow_potion_4_note"
},
// ???/?? ??
"guster_banner_pattern_note": {
"textures": "textures/items/note_items/guster_banner_pattern_note"
},
// ???/?? ??
"haste_potion_1_note": {
"textures": "textures/items/note_items/haste_potion_1_note"
},
// ???/?? ??
"haste_potion_2_note": {
"textures": "textures/items/note_items/haste_potion_2_note"
},
// ???/?? ??
"haste_potion_3_note": {
"textures": "textures/items/note_items/haste_potion_3_note"
},
// ???/?? ??
"haste_potion_4_note": {
"textures": "textures/items/note_items/haste_potion_4_note"
},
// ???/?? ??
"health_regeneration_potion_1_note": {
"textures": "textures/items/note_items/health_regeneration_potion_1_note"
},
// ???/?? ??
"health_regeneration_potion_2_note": {
"textures": "textures/items/note_items/health_regeneration_potion_2_note"
},
// ???/?? ??
"health_regeneration_potion_3_note": {
"textures": "textures/items/note_items/health_regeneration_potion_3_note"
},
// ???/?? ??
"health_regeneration_potion_4_note": {
"textures": "textures/items/note_items/health_regeneration_potion_4_note"
},
// ???/?? ??
"herblore_skillcape_note": {
"textures": "textures/items/note_items/herblore_skillcape_note"
},
// ???/?? ??
"honey_bottle_note": {
"textures": "textures/items/note_items/honey_bottle_note"
},
// ???/?? ??
"infested_potion_1_note": {
"textures": "textures/items/note_items/infested_potion_1_note"
},
// ???/?? ??
"infested_potion_2_note": {
"textures": "textures/items/note_items/infested_potion_2_note"
},
// ???/?? ??
"infested_potion_3_note": {
"textures": "textures/items/note_items/infested_potion_3_note"
},
// ???/?? ??
"infested_potion_4_note": {
"textures": "textures/items/note_items/infested_potion_4_note"
},
// ???/?? ??
"invisibility_potion_1_note": {
"textures": "textures/items/note_items/invisibility_potion_1_note"
},
// ???/?? ??
"invisibility_potion_2_note": {
"textures": "textures/items/note_items/invisibility_potion_2_note"
},
// ???/?? ??
"invisibility_potion_3_note": {
"textures": "textures/items/note_items/invisibility_potion_3_note"
},
// ???/?? ??
"invisibility_potion_4_note": {
"textures": "textures/items/note_items/invisibility_potion_4_note"
},
// ???/?? ??
"iron_axe_note": {
"textures": "textures/items/note_items/iron_axe_note"
},
// ???/?? ??
"iron_boots_note": {
"textures": "textures/items/note_items/iron_boots_note"
},
// ???/?? ??
"iron_helm_note": {
"textures": "textures/items/note_items/iron_helm_note"
},
// ???/?? ??
"iron_hoe_note": {
"textures": "textures/items/note_items/iron_hoe_note"
},
// ???/?? ??
"iron_horse_armor_note": {
"textures": "textures/items/note_items/iron_horse_armor_note"
},
// ???/?? ??
"iron_pickaxe_note": {
"textures": "textures/items/note_items/iron_pickaxe_note"
},
// ???/?? ??
"iron_platebody_note": {
"textures": "textures/items/note_items/iron_platebody_note"
},
// ???/?? ??
"iron_platelegs_note": {
"textures": "textures/items/note_items/iron_platelegs_note"
},
// ???/?? ??
"iron_shovel_note": {
"textures": "textures/items/note_items/iron_shovel_note"
},
// ???/?? ??
"iron_sword_note": {
"textures": "textures/items/note_items/iron_sword_note"
},
// ???/?? ??
"jump_potion_1_note": {
"textures": "textures/items/note_items/jump_potion_1_note"
},
// ???/?? ??
"jump_potion_2_note": {
"textures": "textures/items/note_items/jump_potion_2_note"
},
// ???/?? ??
"jump_potion_3_note": {
"textures": "textures/items/note_items/jump_potion_3_note"
},
// ???/?? ??
"jump_potion_4_note": {
"textures": "textures/items/note_items/jump_potion_4_note"
},
// ???/?? ??
"jungle_chest_boat_note": {
"textures": "textures/items/note_items/jungle_chest_boat_note"
},
// ???/?? ??
"jungle_trouble_note": {
"textures": "textures/items/note_items/jungle_trouble_note"
},
// ???/?? ??
"leap_potion_1_note": {
"textures": "textures/items/note_items/leap_potion_1_note"
},
// ???/?? ??
"leap_potion_2_note": {
"textures": "textures/items/note_items/leap_potion_2_note"
},
// ???/?? ??
"leap_potion_3_note": {
"textures": "textures/items/note_items/leap_potion_3_note"
},
// ???/?? ??
"leap_potion_4_note": {
"textures": "textures/items/note_items/leap_potion_4_note"
},
// ???/?? ??
"levitation_potion_1_note": {
"textures": "textures/items/note_items/levitation_potion_1_note"
},
// ???/?? ??
"levitation_potion_2_note": {
"textures": "textures/items/note_items/levitation_potion_2_note"
},
// ???/?? ??
"levitation_potion_3_note": {
"textures": "textures/items/note_items/levitation_potion_3_note"
},
// ???/?? ??
"levitation_potion_4_note": {
"textures": "textures/items/note_items/levitation_potion_4_note"
},
// ???/?? ??
"mangrove_boat_note": {
"textures": "textures/items/note_items/mangrove_boat_note"
},
// ???/?? ??
"mangrove_chest_boat_note": {
"textures": "textures/items/note_items/mangrove_chest_boat_note"
},
// ???/?? ??
"medieval_note": {
"textures": "textures/items/note_items/medieval_note"
},
// ???/?? ??
"minecart_chest_note": {
"textures": "textures/items/note_items/minecart_chest_note"
},
// ???/?? ??
"minecart_furnace_note": {
"textures": "textures/items/note_items/minecart_furnace_note"
},
// ???/?? ??
"minecart_hopper_note": {
"textures": "textures/items/note_items/minecart_hopper_note"
},
// ???/?? ??
"minecart_note": {
"textures": "textures/items/note_items/minecart_note"
},
// ???/?? ??
"mining_skillcape_note": {
"textures": "textures/items/note_items/mining_skillcape_note"
},
// ???/?? ??
"mithril_axe_note": {
"textures": "textures/items/note_items/mithril_axe_note"
},
// ???/?? ??
"mithril_boots_note": {
"textures": "textures/items/note_items/mithril_boots_note"
},
// ???/?? ??
"mithril_helm_note": {
"textures": "textures/items/note_items/mithril_helm_note"
},
// ???/?? ??
"mithril_hoe_note": {
"textures": "textures/items/note_items/mithril_hoe_note"
},
// ???/?? ??
"mithril_horse_armor_note": {
"textures": "textures/items/note_items/mithril_horse_armor_note"
},
// ???/?? ??
"mithril_pickaxe_note": {
"textures": "textures/items/note_items/mithril_pickaxe_note"
},
// ???/?? ??
"mithril_platebody_note": {
"textures": "textures/items/note_items/mithril_platebody_note"
},
// ???/?? ??
"mithril_platelegs_note": {
"textures": "textures/items/note_items/mithril_platelegs_note"
},
// ???/?? ??
"mithril_shovel_note": {
"textures": "textures/items/note_items/mithril_shovel_note"
},
// ???/?? ??
"mithril_sword_note": {
"textures": "textures/items/note_items/mithril_sword_note"
},
// ???/?? ??
"mojang_banner_pattern_note": {
"textures": "textures/items/note_items/mojang_banner_pattern_note"
},
// ???/?? ??
"music_disc_11_note": {
"textures": "textures/items/note_items/music_disc_11_note"
},
// ???/?? ??
"music_disc_13_note": {
"textures": "textures/items/note_items/music_disc_13_note"
},
// ???/?? ??
"music_disc_5_note": {
"textures": "textures/items/note_items/music_disc_5_note"
},
// ???/?? ??
"music_disc_blocks_note": {
"textures": "textures/items/note_items/music_disc_blocks_note"
},
// ???/?? ??
"music_disc_cat_note": {
"textures": "textures/items/note_items/music_disc_cat_note"
},
// ???/?? ??
"music_disc_chirp_note": {
"textures": "textures/items/note_items/music_disc_chirp_note"
},
// ???/?? ??
"music_disc_creator_music_box_note": {
"textures": "textures/items/note_items/music_disc_creator_music_box_note"
},
// ???/?? ??
"music_disc_creator_note": {
"textures": "textures/items/note_items/music_disc_creator_note"
},
// ???/?? ??
"music_disc_far_note": {
"textures": "textures/items/note_items/music_disc_far_note"
},
// ???/?? ??
"music_disc_lava_chicken_note": {
"textures": "textures/items/note_items/music_disc_lava_chicken_note"
},
// ???/?? ??
"music_disc_mall_note": {
"textures": "textures/items/note_items/music_disc_mall_note"
},
// ???/?? ??
"music_disc_mellohi_note": {
"textures": "textures/items/note_items/music_disc_mellohi_note"
},
// ???/?? ??
"music_disc_otherside_note": {
"textures": "textures/items/note_items/music_disc_otherside_note"
},
// ???/?? ??
"music_disc_pigstep_note": {
"textures": "textures/items/note_items/music_disc_pigstep_note"
},
// ???/?? ??
"music_disc_stal_note": {
"textures": "textures/items/note_items/music_disc_stal_note"
},
// ???/?? ??
"music_disc_strad_note": {
"textures": "textures/items/note_items/music_disc_strad_note"
},
// ???/?? ??
"music_disc_tears_note": {
"textures": "textures/items/note_items/music_disc_tears_note"
},
// ???/?? ??
"music_disc_wait_note": {
"textures": "textures/items/note_items/music_disc_wait_note"
},
// ???/?? ??
"music_disc_ward_note": {
"textures": "textures/items/note_items/music_disc_ward_note"
},
// ???/?? ??
"nether_realm_note": {
"textures": "textures/items/note_items/nether_realm_note"
},
// ???/?? ??
"nether_star_note": {
"textures": "textures/items/note_items/nether_star_note"
},
// ???/?? ??
"night_vision_potion_1_note": {
"textures": "textures/items/note_items/night_vision_potion_1_note"
},
// ???/?? ??
"night_vision_potion_2_note": {
"textures": "textures/items/note_items/night_vision_potion_2_note"
},
// ???/?? ??
"night_vision_potion_3_note": {
"textures": "textures/items/note_items/night_vision_potion_3_note"
},
// ???/?? ??
"night_vision_potion_4_note": {
"textures": "textures/items/note_items/night_vision_potion_4_note"
},
// ???/?? ??
"oak_chest_boat_note": {
"textures": "textures/items/note_items/oak_chest_boat_note"
},
// ???/?? ??
"oozing_potion_1_note": {
"textures": "textures/items/note_items/oozing_potion_1_note"
},
// ???/?? ??
"oozing_potion_2_note": {
"textures": "textures/items/note_items/oozing_potion_2_note"
},
// ???/?? ??
"oozing_potion_3_note": {
"textures": "textures/items/note_items/oozing_potion_3_note"
},
// ???/?? ??
"oozing_potion_4_note": {
"textures": "textures/items/note_items/oozing_potion_4_note"
},
// ???/?? ??
"options_icon_note": {
"textures": "textures/items/note_items/options_icon_note"
},
// ???/?? ??
"ore_party_hat_note": {
"textures": "textures/items/note_items/ore_party_hat_note"
},
// ???/?? ??
"out_at_the_mines_note": {
"textures": "textures/items/note_items/out_at_the_mines_note"
},
// ???/?? ??
"pale_oak_boat_note": {
"textures": "textures/items/note_items/pale_oak_boat_note"
},
// ???/?? ??
"pale_oak_chest_boat_note": {
"textures": "textures/items/note_items/pale_oak_chest_boat_note"
},
// ???/?? ??
"pharaoh_tomb_note": {
"textures": "textures/items/note_items/pharaoh_tomb_note"
},
// ???/?? ??
"piglin_banner_pattern_note": {
"textures": "textures/items/note_items/piglin_banner_pattern_note"
},
// ???/?? ??
"poison_potion_1_note": {
"textures": "textures/items/note_items/poison_potion_1_note"
},
// ???/?? ??
"poison_potion_2_note": {
"textures": "textures/items/note_items/poison_potion_2_note"
},
// ???/?? ??
"poison_potion_3_note": {
"textures": "textures/items/note_items/poison_potion_3_note"
},
// ???/?? ??
"poison_potion_4_note": {
"textures": "textures/items/note_items/poison_potion_4_note"
},
// ???/?? ??
"prayer_potion_1_note": {
"textures": "textures/items/note_items/prayer_potion_1_note"
},
// ???/?? ??
"prayer_potion_2_note": {
"textures": "textures/items/note_items/prayer_potion_2_note"
},
// ???/?? ??
"prayer_potion_3_note": {
"textures": "textures/items/note_items/prayer_potion_3_note"
},
// ???/?? ??
"prayer_potion_4_note": {
"textures": "textures/items/note_items/prayer_potion_4_note"
},
// ???/?? ??
"prayer_skillcape_note": {
"textures": "textures/items/note_items/prayer_skillcape_note"
},
// ???/?? ??
"purple_party_hat_note": {
"textures": "textures/items/note_items/purple_party_hat_note"
},
// ???/?? ??
"ranged_skillcape_note": {
"textures": "textures/items/note_items/ranged_skillcape_note"
},
// ???/?? ??
"resistance_potion_1_note": {
"textures": "textures/items/note_items/resistance_potion_1_note"
},
// ???/?? ??
"resistance_potion_2_note": {
"textures": "textures/items/note_items/resistance_potion_2_note"
},
// ???/?? ??
"resistance_potion_3_note": {
"textures": "textures/items/note_items/resistance_potion_3_note"
},
// ???/?? ??
"resistance_potion_4_note": {
"textures": "textures/items/note_items/resistance_potion_4_note"
},
// ???/?? ??
"roar_potion_1_note": {
"textures": "textures/items/note_items/roar_potion_1_note"
},
// ???/?? ??
"roar_potion_2_note": {
"textures": "textures/items/note_items/roar_potion_2_note"
},
// ???/?? ??
"roar_potion_3_note": {
"textures": "textures/items/note_items/roar_potion_3_note"
},
// ???/?? ??
"roar_potion_4_note": {
"textures": "textures/items/note_items/roar_potion_4_note"
},
// ???/?? ??
"rogue_boots_note": {
"textures": "textures/items/note_items/rogue_boots_note"
},
// ???/?? ??
"rogue_mask_note": {
"textures": "textures/items/note_items/rogue_mask_note"
},
// ???/?? ??
"rogue_top_note": {
"textures": "textures/items/note_items/rogue_top_note"
},
// ???/?? ??
"rogue_trousers_note": {
"textures": "textures/items/note_items/rogue_trousers_note"
},
// ???/?? ??
"royal_blue_party_hat_note": {
"textures": "textures/items/note_items/royal_blue_party_hat_note"
},
// ???/?? ??
"rune_axe_note": {
"textures": "textures/items/note_items/rune_axe_note"
},
// ???/?? ??
"rune_boots_note": {
"textures": "textures/items/note_items/rune_boots_note"
},
// ???/?? ??
"rune_helm_note": {
"textures": "textures/items/note_items/rune_helm_note"
},
// ???/?? ??
"rune_hoe_note": {
"textures": "textures/items/note_items/rune_hoe_note"
},
// ???/?? ??
"rune_horse_armor_note": {
"textures": "textures/items/note_items/rune_horse_armor_note"
},
// ???/?? ??
"rune_pickaxe_note": {
"textures": "textures/items/note_items/rune_pickaxe_note"
},
// ???/?? ??
"rune_platebody_note": {
"textures": "textures/items/note_items/rune_platebody_note"
},
// ???/?? ??
"rune_platelegs_note": {
"textures": "textures/items/note_items/rune_platelegs_note"
},
// ???/?? ??
"rune_shovel_note": {
"textures": "textures/items/note_items/rune_shovel_note"
},
// ???/?? ??
"rune_sword_note": {
"textures": "textures/items/note_items/rune_sword_note"
},
// ???/?? ??
"sea_shanty_note": {
"textures": "textures/items/note_items/sea_shanty_note"
},
// ???/?? ??
"self_destruct_potion_1_note": {
"textures": "textures/items/note_items/self_destruct_potion_1_note"
},
// ???/?? ??
"self_destruct_potion_2_note": {
"textures": "textures/items/note_items/self_destruct_potion_2_note"
},
// ???/?? ??
"self_destruct_potion_3_note": {
"textures": "textures/items/note_items/self_destruct_potion_3_note"
},
// ???/?? ??
"self_destruct_potion_4_note": {
"textures": "textures/items/note_items/self_destruct_potion_4_note"
},
// ???/?? ??
"shears_note": {
"textures": "textures/items/note_items/shears_note"
},
// ???/?? ??
"shrink_potion_1_note": {
"textures": "textures/items/note_items/shrink_potion_1_note"
},
// ???/?? ??
"shrink_potion_2_note": {
"textures": "textures/items/note_items/shrink_potion_2_note"
},
// ???/?? ??
"shrink_potion_3_note": {
"textures": "textures/items/note_items/shrink_potion_3_note"
},
// ???/?? ??
"shrink_potion_4_note": {
"textures": "textures/items/note_items/shrink_potion_4_note"
},
// ???/?? ??
"silver_party_hat_note": {
"textures": "textures/items/note_items/silver_party_hat_note"
},
// ???/?? ??
"skillmasters_sword_note": {
"textures": "textures/items/note_items/skillmasters_sword_note"
},
// ???/?? ??
"skull_banner_pattern_note": {
"textures": "textures/items/note_items/skull_banner_pattern_note"
},
// ???/?? ??
"slowness_potion_1_note": {
"textures": "textures/items/note_items/slowness_potion_1_note"
},
// ???/?? ??
"slowness_potion_2_note": {
"textures": "textures/items/note_items/slowness_potion_2_note"
},
// ???/?? ??
"slowness_potion_3_note": {
"textures": "textures/items/note_items/slowness_potion_3_note"
},
// ???/?? ??
"slowness_potion_4_note": {
"textures": "textures/items/note_items/slowness_potion_4_note"
},
// ???/?? ??
"slow_falling_potion_1_note": {
"textures": "textures/items/note_items/slow_falling_potion_1_note"
},
// ???/?? ??
"slow_falling_potion_2_note": {
"textures": "textures/items/note_items/slow_falling_potion_2_note"
},
// ???/?? ??
"slow_falling_potion_3_note": {
"textures": "textures/items/note_items/slow_falling_potion_3_note"
},
// ???/?? ??
"slow_falling_potion_4_note": {
"textures": "textures/items/note_items/slow_falling_potion_4_note"
},
// ???/?? ??
"smithing_party_hat_note": {
"textures": "textures/items/note_items/smithing_party_hat_note"
},
// ???/?? ??
"smithing_skillcape_note": {
"textures": "textures/items/note_items/smithing_skillcape_note"
},
// ???/?? ??
"spooky_note": {
"textures": "textures/items/note_items/spooky_note"
},
// ???/?? ??
"spruce_chest_boat_note": {
"textures": "textures/items/note_items/spruce_chest_boat_note"
},
// ???/?? ??
"stamina_potion_1_note": {
"textures": "textures/items/note_items/stamina_potion_1_note"
},
// ???/?? ??
"stamina_potion_2_note": {
"textures": "textures/items/note_items/stamina_potion_2_note"
},
// ???/?? ??
"stamina_potion_3_note": {
"textures": "textures/items/note_items/stamina_potion_3_note"
},
// ???/?? ??
"stamina_potion_4_note": {
"textures": "textures/items/note_items/stamina_potion_4_note"
},
// ???/?? ??
"steel_axe_note": {
"textures": "textures/items/note_items/steel_axe_note"
},
// ???/?? ??
"steel_boots_note": {
"textures": "textures/items/note_items/steel_boots_note"
},
// ???/?? ??
"steel_helm_note": {
"textures": "textures/items/note_items/steel_helm_note"
},
// ???/?? ??
"steel_hoe_note": {
"textures": "textures/items/note_items/steel_hoe_note"
},
// ???/?? ??
"steel_horse_armor_note": {
"textures": "textures/items/note_items/steel_horse_armor_note"
},
// ???/?? ??
"steel_pickaxe_note": {
"textures": "textures/items/note_items/steel_pickaxe_note"
},
// ???/?? ??
"steel_platebody_note": {
"textures": "textures/items/note_items/steel_platebody_note"
},
// ???/?? ??
"steel_platelegs_note": {
"textures": "textures/items/note_items/steel_platelegs_note"
},
// ???/?? ??
"steel_shovel_note": {
"textures": "textures/items/note_items/steel_shovel_note"
},
// ???/?? ??
"steel_sword_note": {
"textures": "textures/items/note_items/steel_sword_note"
},
// ???/?? ??
"stratosphere_note": {
"textures": "textures/items/note_items/stratosphere_note"
},
// ???/?? ??
"strength_potion_1_note": {
"textures": "textures/items/note_items/strength_potion_1_note"
},
// ???/?? ??
"strength_potion_2_note": {
"textures": "textures/items/note_items/strength_potion_2_note"
},
// ???/?? ??
"strength_potion_3_note": {
"textures": "textures/items/note_items/strength_potion_3_note"
},
// ???/?? ??
"strength_potion_4_note": {
"textures": "textures/items/note_items/strength_potion_4_note"
},
// ???/?? ??
"surface_potion_1_note": {
"textures": "textures/items/note_items/surface_potion_1_note"
},
// ???/?? ??
"surface_potion_2_note": {
"textures": "textures/items/note_items/surface_potion_2_note"
},
// ???/?? ??
"surface_potion_3_note": {
"textures": "textures/items/note_items/surface_potion_3_note"
},
// ???/?? ??
"surface_potion_4_note": {
"textures": "textures/items/note_items/surface_potion_4_note"
},
// ???/?? ??
"swiftness_potion_1_note": {
"textures": "textures/items/note_items/swiftness_potion_1_note"
},
// ???/?? ??
"swiftness_potion_2_note": {
"textures": "textures/items/note_items/swiftness_potion_2_note"
},
// ???/?? ??
"swiftness_potion_3_note": {
"textures": "textures/items/note_items/swiftness_potion_3_note"
},
// ???/?? ??
"swiftness_potion_4_note": {
"textures": "textures/items/note_items/swiftness_potion_4_note"
},
// ???/?? ??
"teleport_potion_1_note": {
"textures": "textures/items/note_items/teleport_potion_1_note"
},
// ???/?? ??
"teleport_potion_2_note": {
"textures": "textures/items/note_items/teleport_potion_2_note"
},
// ???/?? ??
"teleport_potion_3_note": {
"textures": "textures/items/note_items/teleport_potion_3_note"
},
// ???/?? ??
"teleport_potion_4_note": {
"textures": "textures/items/note_items/teleport_potion_4_note"
},
// ???/?? ??
"thieving_skillcape_note": {
"textures": "textures/items/note_items/thieving_skillcape_note"
},
// ???/?? ??
"totem_of_undying_note": {
"textures": "textures/items/note_items/totem_of_undying_note"
},
// ???/?? ??
"transformation_potion_1_note": {
"textures": "textures/items/note_items/transformation_potion_1_note"
},
// ???/?? ??
"transformation_potion_2_note": {
"textures": "textures/items/note_items/transformation_potion_2_note"
},
// ???/?? ??
"transformation_potion_3_note": {
"textures": "textures/items/note_items/transformation_potion_3_note"
},
// ???/?? ??
"transformation_potion_4_note": {
"textures": "textures/items/note_items/transformation_potion_4_note"
},
// ???/?? ??
"tree_party_hat_note": {
"textures": "textures/items/note_items/tree_party_hat_note"
},
// ???/?? ??
"uncharged_wither_core_note": {
"textures": "textures/items/note_items/uncharged_wither_core_note"
},
// ???/?? ??
"village_note": {
"textures": "textures/items/note_items/village_note"
},
// ???/?? ??
"water_bottle_note": {
"textures": "textures/items/note_items/water_bottle_note"
},
// ???/?? ??
"water_breathing_potion_1_note": {
"textures": "textures/items/note_items/water_breathing_potion_1_note"
},
// ???/?? ??
"water_breathing_potion_2_note": {
"textures": "textures/items/note_items/water_breathing_potion_2_note"
},
// ???/?? ??
"water_breathing_potion_3_note": {
"textures": "textures/items/note_items/water_breathing_potion_3_note"
},
// ???/?? ??
"water_breathing_potion_4_note": {
"textures": "textures/items/note_items/water_breathing_potion_4_note"
},
// ???/?? ??
"weakness_potion_1_note": {
"textures": "textures/items/note_items/weakness_potion_1_note"
},
// ???/?? ??
"weakness_potion_2_note": {
"textures": "textures/items/note_items/weakness_potion_2_note"
},
// ???/?? ??
"weakness_potion_3_note": {
"textures": "textures/items/note_items/weakness_potion_3_note"
},
// ???/?? ??
"weakness_potion_4_note": {
"textures": "textures/items/note_items/weakness_potion_4_note"
},
// ???/?? ??
"weaving_potion_1_note": {
"textures": "textures/items/note_items/weaving_potion_1_note"
},
// ???/?? ??
"weaving_potion_2_note": {
"textures": "textures/items/note_items/weaving_potion_2_note"
},
// ???/?? ??
"weaving_potion_3_note": {
"textures": "textures/items/note_items/weaving_potion_3_note"
},
// ???/?? ??
"weaving_potion_4_note": {
"textures": "textures/items/note_items/weaving_potion_4_note"
},
// ???/?? ??
"wind_potion_1_note": {
"textures": "textures/items/note_items/wind_potion_1_note"
},
// ???/?? ??
"wind_potion_2_note": {
"textures": "textures/items/note_items/wind_potion_2_note"
},
// ???/?? ??
"wind_potion_3_note": {
"textures": "textures/items/note_items/wind_potion_3_note"
},
// ???/?? ??
"wind_potion_4_note": {
"textures": "textures/items/note_items/wind_potion_4_note"
},
// ???/?? ??
"woodcutting_skillcape_note": {
"textures": "textures/items/note_items/woodcutting_skillcape_note"
},
// ???/?? ??
"wooden_axe_note": {
"textures": "textures/items/note_items/wooden_axe_note"
},
// ???/?? ??
"wooden_hoe_note": {
"textures": "textures/items/note_items/wooden_hoe_note"
},
// ???/?? ??
"wooden_pickaxe_note": {
"textures": "textures/items/note_items/wooden_pickaxe_note"
},
// ???/?? ??
"wooden_shovel_note": {
"textures": "textures/items/note_items/wooden_shovel_note"
},
// ???/?? ??
"wooden_sword_note": {
"textures": "textures/items/note_items/wooden_sword_note"
},
// ???/?? ??
"zamorak_zoo_note": {
"textures": "textures/items/note_items/zamorak_zoo_note"
},
// ???/?? ??
"bow_note": {
"textures": "textures/items/note_items/bow_note"
},
// ???/?? ??
"cod_bucket_note": {
"textures": "textures/items/note_items/cod_bucket_note"
},
// ???/?? ??
"crossbow_note": {
"textures": "textures/items/note_items/crossbow_note"
},
// ???/?? ??
"elytra_note": {
"textures": "textures/items/note_items/elytra_note"
},
// ???/?? ??
"fishing_rod_note": {
"textures": "textures/items/note_items/fishing_rod_note"
},
// ???/?? ??
"flint_and_steel_note": {
"textures": "textures/items/note_items/flint_and_steel_note"
},
// ???/?? ??
"gold_horse_armor_note": {
"textures": "textures/items/note_items/gold_horse_armor_note"
},
// ???/?? ??
"lava_bucket_note": {
"textures": "textures/items/note_items/lava_bucket_note"
},
// ???/?? ??
"milk_bucket_note": {
"textures": "textures/items/note_items/milk_bucket_note"
},
// ???/?? ??
"powder_snow_bucket_note": {
"textures": "textures/items/note_items/powder_snow_bucket_note"
},
// ???/?? ??
"pufferfish_bucket_note": {
"textures": "textures/items/note_items/pufferfish_bucket_note"
},
// ???/?? ??
"saddle_note": {
"textures": "textures/items/note_items/saddle_note"
},
// ???/?? ??
"salmon_bucket_note": {
"textures": "textures/items/note_items/salmon_bucket_note"
},
// ???/?? ??
"shield_note": {
"textures": "textures/items/note_items/shield_note"
},
// ???/?? ??
"tadpole_bucket_note": {
"textures": "textures/items/note_items/tadpole_bucket_note"
},
// ???/?? ??
"water_bucket_note": {
"textures": "textures/items/note_items/water_bucket_note"
},
// ???/?? ??
"copper_crossbow": {
"textures": "textures/items/ranged/copper_crossbow_standby"
},
// ???/?? ??
"copper_crossbow_loaded": {
"textures": "textures/items/ranged/copper_crossbow_loaded"
},
// ???/?? ??
"wooden_spear": {
"textures": "textures/items/spears/wooden_spear"
},
// ???/?? ??
"copper_spear": {
"textures": "textures/items/spears/copper_spear"
},
// ???/?? ??
"iron_spear": {
"textures": "textures/items/spears/iron_spear"
},
// ???/?? ??
"gold_spear": {
"textures": "textures/items/spears/gold_spear"
},
// ???/?? ??
"steel_spear": {
"textures": "textures/items/spears/steel_spear"
},
// ???/?? ??
"black_spear": {
"textures": "textures/items/spears/black_spear"
},
// ???/?? ??
"mithril_spear": {
"textures": "textures/items/spears/mithril_spear"
},
// ???/?? ??
"adamant_spear": {
"textures": "textures/items/spears/adamant_spear"
},
// ???/?? ??
"rune_spear": {
"textures": "textures/items/spears/rune_spear"
},
// ???/?? ??
"wooden_spear_note": {
"textures": "textures/items/note_items/wooden_spear_note"
},
// ???/?? ??
"copper_spear_note": {
"textures": "textures/items/note_items/copper_spear_note"
},
// ???/?? ??
"iron_spear_note": {
"textures": "textures/items/note_items/iron_spear_note"
},
// ???/?? ??
"gold_spear_note": {
"textures": "textures/items/note_items/gold_spear_note"
},
// ???/?? ??
"steel_spear_note": {
"textures": "textures/items/note_items/steel_spear_note"
},
// ???/?? ??
"black_spear_note": {
"textures": "textures/items/note_items/black_spear_note"
},
// ???/?? ??
"mithril_spear_note": {
"textures": "textures/items/note_items/mithril_spear_note"
},
// ???/?? ??
"adamant_spear_note": {
"textures": "textures/items/note_items/adamant_spear_note"
},
// ???/?? ??
"rune_spear_note": {
"textures": "textures/items/note_items/rune_spear_note"
}
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: netherite_spear.texture_set.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
"format_version": "1.21.30",
// ???/?? ??
"minecraft:texture_set": {
// ?? (R,G,B,A)
"color": "netherite_spear",
"metalness_emissive_roughness_subsurface": "netherite_spear_mers"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: notif_icon_background.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 테두리 늘림(9분할)
"nineslice_size": [
2,
2,
2,
2
],
// ???/?? ??
"base_size": [
6,
6
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: outline.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{ "frames": [
{
"filename": "Sprite-0006 0.",
"frame": { "x": 0, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 200
},
{
"filename": "Sprite-0006 1.",
"frame": { "x": 64, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 200
},
{
"filename": "Sprite-0006 2.",
"frame": { "x": 128, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 200
},
{
"filename": "Sprite-0006 3.",
"frame": { "x": 192, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 200
},
{
"filename": "Sprite-0006 4.",
"frame": { "x": 256, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 200
},
{
"filename": "Sprite-0006 5.",
"frame": { "x": 320, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 200
},
{
"filename": "Sprite-0006 6.",
"frame": { "x": 384, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 200
},
{
"filename": "Sprite-0006 7.",
"frame": { "x": 448, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 200
},
{
"filename": "Sprite-0006 8.",
"frame": { "x": 512, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 200
},
{
"filename": "Sprite-0006 9.",
"frame": { "x": 576, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 200
},
{
"filename": "Sprite-0006 10.",
"frame": { "x": 640, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 200
},
{
"filename": "Sprite-0006 11.",
"frame": { "x": 704, "y": 0, "w": 64, "h": 64 },
"rotated": false,
"trimmed": false,
"spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
"sourceSize": { "w": 64, "h": 64 },
// 걸리는 시간(초)
"duration": 200
}
],
// ???/?? ??
"meta": {
"app": "http://www.aseprite.org/",
"version": "1.3.14.4-dev",
"image": "outline_form.png",
"format": "RGBA8888",
// 가로/세로 크기
"size": { "w": 768, "h": 64 },
"scale": "1",
// ???/?? ??
"frameTags": [
],
// ???/?? ??
"layers": [
{ "name": "Layer 1", "opacity": 255, "blendMode": "normal" }
],
// ???/?? ??
"slices": [
]
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: solid_textbox.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
// 테두리 늘림(9분할)
"nineslice_size": 4,
// ???/?? ??
"base_size": [
12,
12
]
}
필요한 부분만 참고해서 가져가세요.
// 예제: stone_spear.texture_set.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
"format_version": "1.21.30",
// ???/?? ??
"minecraft:texture_set": {
// ?? (R,G,B,A)
"color": "stone_spear",
"metalness_emissive_roughness_subsurface": "stone_spear_mers"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: terrain_texture.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
"resource_pack_name": "tut",
"texture_name": "atlas.terrain",
"padding": 8,
"num_mip_levels": 4,
// ???/?? ??
"texture_data": {
// ???/?? ??
"jukebox": {
"textures": "textures/blocks/jukebox"
},
// ???/?? ??
"gilded_altar": {
"textures": "textures/blocks/gilded_altar"
},
// ???/?? ??
"chaos_altar": {
"textures": "textures/blocks/chaos_altar"
},
// ???/?? ??
"chaos_altar_remover": {
"textures": "textures/blocks/chaos_altar"
},
// ???/?? ??
"empty": {
"textures": "textures/blocks/empty"
},
// ???/?? ??
"adamant_ore_block": {
"textures": "textures/blocks/ore_blocks/adamant_ore_block"
},
// ???/?? ??
"deepslate_adamant_ore_block": {
"textures": "textures/blocks/ore_blocks/deepslate_adamant_ore_block"
},
// ???/?? ??
"nether_adamant_ore_block": {
"textures": "textures/blocks/ore_blocks/nether_adamant_ore_block"
},
// ???/?? ??
"end_adamant_ore_block": {
"textures": "textures/blocks/ore_blocks/end_adamant_ore_block"
},
// ???/?? ??
"copper_ore_block": {
"textures": "textures/blocks/ore_blocks/copper_ore_block"
},
// ???/?? ??
"deepslate_copper_ore_block": {
"textures": "textures/blocks/ore_blocks/deepslate_copper_ore_block"
},
// ???/?? ??
"nether_copper_ore_block": {
"textures": "textures/blocks/ore_blocks/nether_copper_ore_block"
},
// ???/?? ??
"end_copper_ore_block": {
"textures": "textures/blocks/ore_blocks/end_copper_ore_block"
},
// ???/?? ??
"iron_ore_block": {
"textures": "textures/blocks/ore_blocks/iron_ore_block"
},
// ???/?? ??
"deepslate_iron_ore_block": {
"textures": "textures/blocks/ore_blocks/deepslate_iron_ore_block"
},
// ???/?? ??
"nether_iron_ore_block": {
"textures": "textures/blocks/ore_blocks/nether_iron_ore_block"
},
// ???/?? ??
"end_iron_ore_block": {
"textures": "textures/blocks/ore_blocks/end_iron_ore_block"
},
// ???/?? ??
"mithril_ore_block": {
"textures": "textures/blocks/ore_blocks/mithril_ore_block"
},
// ???/?? ??
"deepslate_mithril_ore_block": {
"textures": "textures/blocks/ore_blocks/deepslate_mithril_ore_block"
},
// ???/?? ??
"nether_mithril_ore_block": {
"textures": "textures/blocks/ore_blocks/nether_mithril_ore_block"
},
// ???/?? ??
"end_mithril_ore_block": {
"textures": "textures/blocks/ore_blocks/end_mithril_ore_block"
},
// ???/?? ??
"rune_ore_block": {
"textures": "textures/blocks/ore_blocks/rune_ore_block"
},
// ???/?? ??
"deepslate_rune_ore_block": {
"textures": "textures/blocks/ore_blocks/deepslate_rune_ore_block"
},
// ???/?? ??
"nether_rune_ore_block": {
"textures": "textures/blocks/ore_blocks/nether_rune_ore_block"
},
// ???/?? ??
"end_rune_ore_block": {
"textures": "textures/blocks/ore_blocks/end_rune_ore_block"
},
// ???/?? ??
"adamant_block": {
"textures": "textures/blocks/ore_blocks/adamant_block"
},
// ???/?? ??
"black_block": {
"textures": "textures/blocks/ore_blocks/black_block"
},
// ???/?? ??
"block_of_adamant_ore": {
"textures": "textures/blocks/ore_blocks/block_of_adamant_ore"
},
// ???/?? ??
"raw_iron_block": {
"textures": "textures/blocks/ore_blocks/block_of_iron_ore"
},
// ???/?? ??
"block_of_mithril_ore": {
"textures": "textures/blocks/ore_blocks/block_of_mithril_ore"
},
// ???/?? ??
"block_of_rune_ore": {
"textures": "textures/blocks/ore_blocks/block_of_rune_ore"
},
// ???/?? ??
"coal_ore_block": {
"textures": "textures/blocks/ore_blocks/coal_ore_block"
},
// ???/?? ??
"deepslate_coal_ore_block": {
"textures": "textures/blocks/ore_blocks/deepslate_coal_ore_block"
},
// ???/?? ??
"deepslate_gold_ore_block": {
"textures": "textures/blocks/ore_blocks/deepslate_gold_ore_block"
},
// ???/?? ??
"deepslate_redstone_ore_block": {
"textures": "textures/blocks/ore_blocks/deepslate_redstone_ore_block"
},
// ???/?? ??
"end_coal_ore_block": {
"textures": "textures/blocks/ore_blocks/end_coal_ore_block"
},
// ???/?? ??
"end_gold_ore_block": {
"textures": "textures/blocks/ore_blocks/end_gold_ore_block"
},
// ???/?? ??
"end_redstone_ore_block": {
"textures": "textures/blocks/ore_blocks/end_redstone_ore_block"
},
// ???/?? ??
"gold_ore_block": {
"textures": "textures/blocks/ore_blocks/gold_ore_block"
},
// ???/?? ??
"iron_block": {
"textures": "textures/blocks/ore_blocks/iron_block"
},
// ???/?? ??
"mithril_block": {
"textures": "textures/blocks/ore_blocks/mithril_block"
},
// ???/?? ??
"nether_coal_ore_block": {
"textures": "textures/blocks/ore_blocks/nether_coal_ore_block"
},
// ???/?? ??
"nether_gold_ore_block": {
"textures": "textures/blocks/ore_blocks/nether_gold_ore_block"
},
// ???/?? ??
"nether_redstone_ore_block": {
"textures": "textures/blocks/ore_blocks/nether_redstone_ore_block"
},
// ???/?? ??
"redstone_ore_block": {
"textures": "textures/blocks/ore_blocks/redstone_ore_block"
},
// ???/?? ??
"rune_block": {
"textures": "textures/blocks/ore_blocks/rune_block"
},
// ???/?? ??
"steel_block": {
"textures": "textures/blocks/ore_blocks/steel_block"
},
// ???/?? ??
"opal_block": {
"textures": "textures/blocks/ore_blocks/opal_block"
},
// ???/?? ??
"jade_block": {
"textures": "textures/blocks/ore_blocks/jade_block"
},
// ???/?? ??
"ruby_block": {
"textures": "textures/blocks/ore_blocks/ruby_block"
},
// ???/?? ??
"sapphire_block": {
"textures": "textures/blocks/ore_blocks/sapphire_block"
},
// ???/?? ??
"emerald_block": {
"textures": "textures/blocks/ore_blocks/emerald_block"
},
// ???/?? ??
"diamond_block": {
"textures": "textures/blocks/ore_blocks/diamond_block"
},
// ???/?? ??
"red_topaz_block": {
"textures": "textures/blocks/ore_blocks/red_topaz_block"
},
// ???/?? ??
"nether_lapis_lazuli_ore_block": {
"textures": "textures/blocks/ore_blocks/nether_lapis_lazuli_ore_block"
},
// ???/?? ??
"end_lapis_lazuli_ore_block": {
"textures": "textures/blocks/ore_blocks/end_lapis_lazuli_ore_block"
},
// ???/?? ??
"deepslate_lapis_lazuli_ore_block": {
"textures": "textures/blocks/ore_blocks/deepslate_lapis_lazuli_ore_block"
},
// ???/?? ??
"lapis_lazuli_ore_block": {
"textures": "textures/blocks/ore_blocks/lapis_lazuli_ore_block"
},
// ???/?? ??
"nether_gemstone_ore_block": {
"textures": "textures/blocks/ore_blocks/nether_gemstone_ore_block"
},
// ???/?? ??
"end_gemstone_ore_block": {
"textures": "textures/blocks/ore_blocks/end_gemstone_ore_block"
},
// ???/?? ??
"deepslate_gemstone_ore_block": {
"textures": "textures/blocks/ore_blocks/deepslate_gemstone_ore_block"
},
// ???/?? ??
"gemstone_ore_block": {
"textures": "textures/blocks/ore_blocks/gemstone_ore_block"
},
// ???/?? ??
"witch_head_block": {
"textures": "textures/blocks/mob_heads/witch_head_block"
},
// ???/?? ??
"panda_head_block": {
"textures": "textures/blocks/mob_heads/panda_head_block"
},
// ???/?? ??
"panda_head_brown_block": {
"textures": "textures/blocks/mob_heads/panda_head_brown_block"
},
// ???/?? ??
"llama_head_white_block": {
"textures": "textures/blocks/mob_heads/llama_head_white_block"
},
// ???/?? ??
"llama_head_cream_block": {
"textures": "textures/blocks/mob_heads/llama_head_cream_block"
},
// ???/?? ??
"llama_head_brown_block": {
"textures": "textures/blocks/mob_heads/llama_head_brown_block"
},
// ???/?? ??
"llama_head_gray_block": {
"textures": "textures/blocks/mob_heads/llama_head_gray_block"
},
// ???/?? ??
"koala_head_block": {
"textures": "textures/blocks/mob_heads/koala_head_block"
},
// ???/?? ??
"arxance_head_block": {
"textures": "textures/blocks/mob_heads/arxance_head_block"
},
//farming
"reveril_0": {
"textures": "textures/blocks/farming/reveril_0"
},
// ???/?? ??
"reveril_1": {
"textures": "textures/blocks/farming/reveril_1"
},
// ???/?? ??
"reveril_2": {
"textures": "textures/blocks/farming/reveril_2"
},
// ???/?? ??
"reveril_3": {
"textures": "textures/blocks/farming/reveril_3"
},
// ???/?? ??
"bubblo_0": {
"textures": "textures/blocks/farming/bubblo_0"
},
// ???/?? ??
"bubblo_1": {
"textures": "textures/blocks/farming/bubblo_1"
},
// ???/?? ??
"bubblo_2": {
"textures": "textures/blocks/farming/bubblo_2"
},
// ???/?? ??
"bubblo_3": {
"textures": "textures/blocks/farming/bubblo_3"
},
// ???/?? ??
"telerit_0": {
"textures": "textures/blocks/farming/telerit_0"
},
// ???/?? ??
"telerit_1": {
"textures": "textures/blocks/farming/telerit_1"
},
// ???/?? ??
"telerit_2": {
"textures": "textures/blocks/farming/telerit_2"
},
// ???/?? ??
"telerit_3": {
"textures": "textures/blocks/farming/telerit_3"
},
// ???/?? ??
"visadyme_0": {
"textures": "textures/blocks/farming/visadyme_0"
},
// ???/?? ??
"visadyme_1": {
"textures": "textures/blocks/farming/visadyme_1"
},
// ???/?? ??
"visadyme_2": {
"textures": "textures/blocks/farming/visadyme_2"
},
// ???/?? ??
"visadyme_3": {
"textures": "textures/blocks/farming/visadyme_3"
},
// ???/?? ??
"endurill_0": {
"textures": "textures/blocks/farming/endurill_0"
},
// ???/?? ??
"endurill_1": {
"textures": "textures/blocks/farming/endurill_1"
},
// ???/?? ??
"endurill_2": {
"textures": "textures/blocks/farming/endurill_2"
},
// ???/?? ??
"endurill_3": {
"textures": "textures/blocks/farming/endurill_3"
},
// ???/?? ??
"enhantoe_0": {
"textures": "textures/blocks/farming/enhantoe_0"
},
// ???/?? ??
"enhantoe_1": {
"textures": "textures/blocks/farming/enhantoe_1"
},
// ???/?? ??
"enhantoe_2": {
"textures": "textures/blocks/farming/enhantoe_2"
},
// ???/?? ??
"enhantoe_3": {
"textures": "textures/blocks/farming/enhantoe_3"
},
// ???/?? ??
"jumia_0": {
"textures": "textures/blocks/farming/jumia_0"
},
// ???/?? ??
"jumia_1": {
"textures": "textures/blocks/farming/jumia_1"
},
// ???/?? ??
"jumia_2": {
"textures": "textures/blocks/farming/jumia_2"
},
// ???/?? ??
"jumia_3": {
"textures": "textures/blocks/farming/jumia_3"
},
// ???/?? ??
"shapis_0": {
"textures": "textures/blocks/farming/shapis_0"
},
// ???/?? ??
"shapis_1": {
"textures": "textures/blocks/farming/shapis_1"
},
// ???/?? ??
"shapis_2": {
"textures": "textures/blocks/farming/shapis_2"
},
// ???/?? ??
"shapis_3": {
"textures": "textures/blocks/farming/shapis_3"
},
// ???/?? ??
"strontar_0": {
"textures": "textures/blocks/farming/strontar_0"
},
// ???/?? ??
"strontar_1": {
"textures": "textures/blocks/farming/strontar_1"
},
// ???/?? ??
"strontar_2": {
"textures": "textures/blocks/farming/strontar_2"
},
// ???/?? ??
"strontar_3": {
"textures": "textures/blocks/farming/strontar_3"
},
// ???/?? ??
"swiftine_0": {
"textures": "textures/blocks/farming/swiftine_0"
},
// ???/?? ??
"swiftine_1": {
"textures": "textures/blocks/farming/swiftine_1"
},
// ???/?? ??
"swiftine_2": {
"textures": "textures/blocks/farming/swiftine_2"
},
// ???/?? ??
"swiftine_3": {
"textures": "textures/blocks/farming/swiftine_3"
},
// ???/?? ??
"windrill_0": {
"textures": "textures/blocks/farming/windrill_0"
},
// ???/?? ??
"windrill_1": {
"textures": "textures/blocks/farming/windrill_1"
},
// ???/?? ??
"windrill_2": {
"textures": "textures/blocks/farming/windrill_2"
},
// ???/?? ??
"windrill_3": {
"textures": "textures/blocks/farming/windrill_3"
},
// ???/?? ??
"slowent_0": {
"textures": "textures/blocks/farming/slowent_0"
},
// ???/?? ??
"slowent_1": {
"textures": "textures/blocks/farming/slowent_1"
},
// ???/?? ??
"slowent_2": {
"textures": "textures/blocks/farming/slowent_2"
},
// ???/?? ??
"slowent_3": {
"textures": "textures/blocks/farming/slowent_3"
},
//CROPS
"cabbage_0": {
"textures": "textures/blocks/farming/cabbage_0"
},
// ???/?? ??
"cabbage_1": {
"textures": "textures/blocks/farming/cabbage_1"
},
// ???/?? ??
"cabbage_2": {
"textures": "textures/blocks/farming/cabbage_2"
},
// ???/?? ??
"cabbage_3": {
"textures": "textures/blocks/farming/cabbage_3"
},
// ???/?? ??
"carrot_0": {
"textures": "textures/blocks/farming/carrot_0"
},
// ???/?? ??
"carrot_1": {
"textures": "textures/blocks/farming/carrot_1"
},
// ???/?? ??
"carrot_2": {
"textures": "textures/blocks/farming/carrot_2"
},
// ???/?? ??
"carrot_3": {
"textures": "textures/blocks/farming/carrot_3"
},
// ???/?? ??
"onion_0": {
"textures": "textures/blocks/farming/onion_0"
},
// ???/?? ??
"onion_1": {
"textures": "textures/blocks/farming/onion_1"
},
// ???/?? ??
"onion_2": {
"textures": "textures/blocks/farming/onion_2"
},
// ???/?? ??
"onion_3": {
"textures": "textures/blocks/farming/onion_3"
},
// ???/?? ??
"potato_0": {
"textures": "textures/blocks/farming/potato_0"
},
// ???/?? ??
"potato_1": {
"textures": "textures/blocks/farming/potato_1"
},
// ???/?? ??
"potato_2": {
"textures": "textures/blocks/farming/potato_2"
},
// ???/?? ??
"potato_3": {
"textures": "textures/blocks/farming/potato_3"
},
// ???/?? ??
"strawberry_0": {
"textures": "textures/blocks/farming/strawberry_0"
},
// ???/?? ??
"strawberry_1": {
"textures": "textures/blocks/farming/strawberry_1"
},
// ???/?? ??
"strawberry_2": {
"textures": "textures/blocks/farming/strawberry_2"
},
// ???/?? ??
"strawberry_3": {
"textures": "textures/blocks/farming/strawberry_3"
},
// ???/?? ??
"sweetcorn_0": {
"textures": "textures/blocks/farming/sweetcorn_0"
},
// ???/?? ??
"sweetcorn_1": {
"textures": "textures/blocks/farming/sweetcorn_1"
},
// ???/?? ??
"sweetcorn_2": {
"textures": "textures/blocks/farming/sweetcorn_2"
},
// ???/?? ??
"sweetcorn_3": {
"textures": "textures/blocks/farming/sweetcorn_3"
},
// ???/?? ??
"tomato_0": {
"textures": "textures/blocks/farming/tomato_0"
},
// ???/?? ??
"tomato_1": {
"textures": "textures/blocks/farming/tomato_1"
},
// ???/?? ??
"tomato_2": {
"textures": "textures/blocks/farming/tomato_2"
},
// ???/?? ??
"tomato_3": {
"textures": "textures/blocks/farming/tomato_3"
},
// ???/?? ??
"brewing_table": {
"textures": "textures/blocks/brewing_table"
},
// ???/?? ??
"decanting_table": {
"textures": "textures/blocks/decanting_table"
},
// ???/?? ??
"cure_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/cure_soaked_sponge"
},
// ???/?? ??
"fire_resistance_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/fire_resistance_soaked_sponge"
},
// ???/?? ??
"grow_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/grow_soaked_sponge"
},
// ???/?? ??
"haste_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/haste_soaked_sponge"
},
// ???/?? ??
"invisibility_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/invisibility_soaked_sponge"
},
// ???/?? ??
"jump_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/jump_soaked_sponge"
},
// ???/?? ??
"leap_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/leap_soaked_sponge"
},
// ???/?? ??
"levitation_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/levitation_soaked_sponge"
},
// ???/?? ??
"night_vision_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/night_vision_soaked_sponge"
},
// ???/?? ??
"prayer_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/prayer_soaked_sponge"
},
// ???/?? ??
"shrink_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/shrink_soaked_sponge"
},
// ???/?? ??
"slow_falling_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/slow_falling_soaked_sponge"
},
// ???/?? ??
"stamina_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/stamina_soaked_sponge"
},
// ???/?? ??
"strength_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/strength_soaked_sponge"
},
// ???/?? ??
"swiftness_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/swiftness_soaked_sponge"
},
// ???/?? ??
"teleportation_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/teleportation_soaked_sponge"
},
// ???/?? ??
"transformation_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/transformation_soaked_sponge"
},
// ???/?? ??
"water_breathing_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/water_breathing_soaked_sponge"
},
// ???/?? ??
"self_destruct_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/self_destruct_soaked_sponge"
},
// ???/?? ??
"darkness_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/darkness_soaked_sponge"
},
// ???/?? ??
"blindness_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/blindness_soaked_sponge"
},
// ???/?? ??
"infested_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/infested_soaked_sponge"
},
// ???/?? ??
"oozing_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/oozing_soaked_sponge"
},
// ???/?? ??
"poison_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/poison_soaked_sponge"
},
// ???/?? ??
"slowness_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/slowness_soaked_sponge"
},
// ???/?? ??
"weakness_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/weakness_soaked_sponge"
},
// ???/?? ??
"weaving_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/weaving_soaked_sponge"
},
// ???/?? ??
"wind_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/wind_soaked_sponge"
},
// ???/?? ??
"below_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/below_soaked_sponge"
},
// ???/?? ??
"surface_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/surface_soaked_sponge"
},
// ???/?? ??
"roar_soaked_sponge": {
"textures": "textures/blocks/potion_soaked_sponges/roar_soaked_sponge"
},
// ???/?? ??
"fertile_soil": {
"textures": "textures/blocks/fertile_soil"
},
// ???/?? ??
"rich_soil": {
"textures": "textures/blocks/rich_soil"
},
// ???/?? ??
"pristine_soil": {
"textures": "textures/blocks/pristine_soil"
},
// ???/?? ??
"white_rose": {
"textures": "textures/blocks/farming/white_rose"
},
// ???/?? ??
"deepslate_iron_ore": {
"textures": "textures/blocks/ore_blocks/deepslate_iron_ore_block"
},
// ???/?? ??
"iron_ore": {
"textures": "textures/blocks/ore_blocks/iron_ore_block"
},
// ???/?? ??
"deepslate_copper_ore": {
"textures": "textures/blocks/ore_blocks/deepslate_copper_ore_block"
},
// ???/?? ??
"copper_ore": {
"textures": "textures/blocks/ore_blocks/copper_ore_block"
},
// ???/?? ??
"smithing_anvil": {
"textures": "textures/blocks/smithing_anvil"
},
// ???/?? ??
"smithing_anvil_base": {
"textures": "textures/blocks/smithing_anvil_base"
},
// ???/?? ??
"fan_side": {
"textures": "textures/blocks/fan_side"
},
// ???/?? ??
"fan_bottom": {
"textures": "textures/blocks/fan_bottom"
},
// ???/?? ??
"fan_top": {
"textures": "textures/blocks/fan_top"
},
// ???/?? ??
"fan_spinning_1": {
"textures": "textures/blocks/fan_spinning_1"
},
// ???/?? ??
"runecraft_furnace_inactive": {
"textures": "textures/blocks/runecraft_furnace_inactive"
},
// ???/?? ??
"runecraft_furnace_side": {
"textures": "textures/blocks/runecraft_furnace_side"
},
// ???/?? ??
"runecraft_furnace_top_bottom": {
"textures": "textures/blocks/runecraft_furnace_top_bottom"
},
// ???/?? ??
"runecraft_furnace_active": {
"textures": "textures/blocks/furnace_active"
},
// ???/?? ??
"group_display_herbs": {
"textures": "textures/items/group_display_herbs"
},
// ???/?? ??
"group_display_sponges": {
"textures": "textures/items/group_display_sponges"
},
// ???/?? ??
"group_display_fragments": {
"textures": "textures/items/group_display_fragments"
},
// ???/?? ??
"group_display_buriables": {
"textures": "textures/items/group_display_buriables"
},
// ???/?? ??
"group_display_potions": {
"textures": "textures/items/group_display_potions"
},
// ???/?? ??
"noting_table": {
"textures": "textures/blocks/noting_table"
}
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: wooden_spear.texture_set.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
"format_version": "1.21.30",
// ???/?? ??
"minecraft:texture_set": {
// ?? (R,G,B,A)
"color": "wooden_spear",
"metalness_emissive_roughness_subsurface": "wooden_spear_mers"
}
}
필요한 부분만 참고해서 가져가세요.
// 예제: wooden_spear.texture_set.json
// 분류: UI 재료 모음 / textures
// 참고: JSON UI는 // 주석을 허용합니다.
// 읽는법: namespace=이름표, controls=화면에 올리는 부품 목록
{
"format_version": "1.21.30",
// ???/?? ??
"minecraft:texture_set": {
// ?? (R,G,B,A)
"color": "wooden_spear",
"metalness_emissive_roughness_subsurface": "wooden_spear_mers"
}
}
코딩이 처음이라도 이해할 수 있게, JSON과 UI의 최소 규칙만 알려드립니다.
이름표(키)와 값이 쌍으로 들어갑니다. 예: "text": "안녕"
작은 블록(panel, label, image)을 모아 큰 화면을 만듭니다.
메모장처럼 쓰되, 쉼표와 따옴표 규칙을 지켜야 합니다.
"text" 글씨[숫자, 숫자] 크기true/false 보이기/숨기기{
// 1) 중괄호 { } 는 큰 상자
"title": "안녕하세요", // 2) "이름": "값"
"size": [100, 40], // 3) 대괄호 [ ] 는 목록
"visible": true // true/false는 켜기/끄기
}
JSON UI는 작게 시작해서 빠르게 확인하는 방식이 가장 안전합니다.
HUD인지, 서버 폼인지, 인벤토리인지 먼저 정합니다.
패널 하나를 추가해 화면이 바뀌는지 확인합니다.
처음에는 #text나 #visible 같은 단순 바인딩만 사용합니다.
보이는 것을 확인한 뒤 버튼, 스크롤, 애니메이션을 붙입니다.
처음 보는 사람도 이해할 수 있도록 쉬운 말로 정리했습니다.
텍스트 파일에 화면의 위치, 크기, 버튼을 적어두는 방식입니다.
panel, label, button 같은 블록을 쌓아서 화면을 만듭니다.
게임 데이터와 화면을 이어주는 선입니다.
| 아주 쉬운 설명 | 실제 용어 | 예시 |
|---|---|---|
| 투명한 상자 | panel | 다른 컨트롤을 담는 그릇 |
| 스티커 글씨 | label | 텍스트 출력 |
| 그림 판넬 | image | 텍스처 표시 |
| 스위치 | button | 클릭 동작 |
//로 왜 이렇게 작성했는지 설명을 남겨두면 좋아요.
컨트롤은 “화면에 올리는 블록”입니다. 아래 8개만 먼저 익혀도 절반은 끝입니다.
아무것도 없는 투명 상자. 다른 블록을 담는 역할.
자동으로 줄 맞춰 쌓는 선반. 가로/세로 정렬에 사용.
칸칸이 나뉜 서랍. 아이템 칸이나 슬롯에 사용.
스크롤 가능한 창. 길게 늘어나는 목록에 사용.
글씨 스티커. 텍스트를 보여줄 때 사용.
그림 판넬. 배경이나 아이콘을 넣을 때 사용.
특수 그림(플레이어/아이템 등)을 그릴 때 사용.
눌러보는 스위치. 클릭 이벤트를 만들 때 사용.
글자를 입력하는 칸. 이름 입력, 검색창에 사용.
stack_panelgridscroll_viewpanel → image(배경) → label(제목) → button(선택)
"simple_row": {
"type": "stack_panel", // 자동 정렬 선반
"orientation": "horizontal", // 가로 정렬
"size": ["100%", 28],
"controls": [
{ "left": { "type": "label", "text": "왼쪽" } }, // 왼쪽 글씨
{ "right": { "type": "label", "text": "오른쪽" } } // 오른쪽 글씨
]
}
panel + label + image 조합만 써도 충분합니다.
프로젝트 안 JSON UI 파일을 모두 훑어보고, 자주 나오는 것만 아주 쉽게 요약했습니다.
panel 큰 상자stack_panel 줄맞춤 상자image 그림 상자view 조건/계산collection 반복 목록global 게임이 주는 값collection에는 collection_details가 자주 붙습니다.
#visible 보이기/숨기기#texture 그림 바꾸기#enabled 버튼 활성화#text 글씨 변경#collection_length 목록 길이offset 위치 이동alpha 투명도size 크기 변화wait 잠시 대기gradient_renderer 그라데이션live_player_renderer 캐릭터 모델inventory_item_renderer 아이템 렌더form_buttons 버튼 목록container_items 아이템 칸hotbar_items 핫바 슬롯hud_screen 화면 위 표시server_form 서버 폼npc_interact NPC 대화코딩을 몰라도 따라 할 수 있도록, 꼭 지켜야 하는 규칙만 모았습니다.
type, size, anchor_from, anchor_to, offsetvisible, enabled, layerbindings, binding_type, binding_name{
"namespace": "demo", // 파일 이름표
"demo_root": {
"type": "panel", // 큰 상자
"size": ["100%", "100%"],
"controls": [
{ "title": { "type": "label", "text": "안녕!" } } // 글씨
]
},
"hud_screen": {
// 화면에 붙이기
"$additional_screen_content": "demo.demo_root"
}
}
"my_panel@common.panel": {
// common namespace의 panel을 가져옴
"size": ["100%", 60]
}
게임이 이미 정해둔 이름/규칙이 있습니다. 이건 바꾸면 연결이 끊깁니다.
#visible, #enabled, #text#title_text, #texture#collection_length, #clip_ratio#item_id_aux (아이템 렌더용)hud_screen, server_formnpc_interact, chat_screeninventory_screen 등이 이름을 바꾸면 화면이 안 붙습니다.
gradient_rendererlive_player_rendererinventory_item_rendererbutton.menu_selectbutton.menu_okbutton.menu_cancel버튼 ID는 게임이 미리 정해둔 값입니다.
처음 시작할 때 필요한 것들을 간단하게 정리했습니다.
JSON UI는 리소스 팩 안에 넣어야 게임에서 읽습니다.
UI 파일은 보통 ui 폴더에 둡니다.
HUD, 서버 폼, 인벤토리 같은 화면마다 파일이 다릅니다.
한 번에 많이 바꾸지 말고, 한 줄씩 바꾸고 바로 테스트합니다.
{
// 네임스페이스: 이 파일의 이름표
"namespace": "hello",
// 화면에 넣을 패널
"hello_root": {
"type": "panel",
"size": ["100%", "100%"]
}
}
가장 작은 형태의 UI를 만들어 보며 구조에 익숙해집니다.
{
"namespace": "hello", // 파일 이름표
"hello_root": {
"type": "panel", // 투명한 상자
"size": ["100%", "100%"],
"controls": [
{
"title": {
"type": "label", // 스티커 글씨
"text": "안녕하세요 JSON UI!",
"anchor_from": "center",
"anchor_to": "center",
"shadow": true // 글자 그림자
}
}
]
},
"hud_screen": {
// HUD 화면에 내 패널을 추가
"$additional_screen_content": "hello.hello_root"
}
}
아래 3가지를 복사해서 붙여보면, 기본 구조를 빠르게 이해할 수 있습니다.
label만 화면에 붙입니다. 가장 안전한 시작입니다.
image를 사용해 반투명 배경을 만듭니다.
기본 템플릿 버튼을 가져와 텍스트만 바꿉니다.
"mini_text": {
"type": "label", // 글씨 스티커
"text": "처음 시작!", // 보여줄 문장
"anchor_from": "center",
"anchor_to": "center"
}
"mini_box": {
"type": "image", // 그림 판넬
"texture": "textures/ui/White", // 흰색 텍스처
"color": [0, 0, 0, 0.4], // 반투명 검정
"size": [200, 60]
}
"mini_button@common_buttons.light_text_button": {
// 기본 버튼 템플릿 사용
"$button_text": "눌러요"
}
controls 배열 안에 “조각”으로 넣어서 사용합니다.
작은 성공을 반복하는 방식으로 배우면 실패가 줄어듭니다.
panel + label 조합으로 시작합니다.
namespace와 컨트롤 이름만 바꿔도 충돌이 줄어듭니다.
anchor/offset을 고정하고 크기는 나중에 조정합니다.
#visible로 표시/숨김만 먼저 테스트합니다.
"simple_notice": {
"type": "panel", // 투명한 상자
"size": [220, 48],
"anchor_from": "top_middle",
"anchor_to": "top_middle",
"offset": [0, 8],
"controls": [
{
"bg": {
"type": "image", // 배경 그림
"texture": "textures/ui/White",
"color": [0, 0, 0, 0.5], // 반투명 배경
"size": ["100%", "100%"]
}
},
{
"text": {
"type": "label", // 글씨 스티커
"text": "여기에 한 줄 메시지",
"anchor_from": "center",
"anchor_to": "center",
"shadow": true
}
}
]
}
#visible 값으로 켜고 끄기#text 또는 #title_text 사용퍼센트/픽셀/콘텐츠 기반 크기를 혼합하고, 9-포인트 앵커로 정밀 배치합니다.
100% 부모 기준100% - 8px 계산식100%c 콘텐츠 기준100%y 높이 기준 비율 유지100%x 너비 기준 비율 유지fill stack_panel에서만 남은 공간 채움[32, 32] 고정 픽셀anchor와 offset을 함께 써서 반응형 배치를 만듭니다.
"close_button": {
"anchor_from": "top_right", // 어디에서 시작할지
"anchor_to": "top_right", // 어디에 붙일지
"offset": [-3, 3] // 살짝 이동
}
칸칸이 배치하는 방식입니다. 인벤토리 슬롯처럼 일정한 배열이 필요할 때 씁니다.
"my_grid": {
"type": "grid",
"grid_dimensions": [3, 3],
"controls": [
{ "slot_0@common.button": { "grid_position": [0, 0] } },
{ "slot_1@common.button": { "grid_position": [1, 0] } },
{ "slot_2@common.button": { "grid_position": [2, 0] } }
]
}
grid_dimensions 가로/세로 칸 수grid_position 각 요소의 위치 [x, y]텍스처는 “그림 파일”이고, 나인슬라이스는 “모서리 모양을 유지한 채 늘리는 방법”입니다.
texture 그림 경로size 표시 크기모서리는 고정, 가운데만 늘려 찌그러짐을 줄입니다.
nineslice_size [왼, 위, 오른, 아래]tiled 반복 여부큰 그림에서 필요한 조각만 잘라 씁니다.
texture에 atlas.terrainuv, uv_size로 조각 지정배경을 바둑판처럼 반복할 때 사용합니다.
tiled truetiled_scale로 크기 조정"panel_bg": {
"type": "image", // 배경 그림
"texture": "textures/ui/panel", // 그림 경로
"nineslice_size": [4, 4, 4, 4], // 모서리 고정
"tiled": false,
"size": ["100% - 8px", 40]
}
"block_icon": {
"type": "image",
"texture": "atlas.terrain", // 큰 그림(아틀라스)
"uv": [0, 0], // 시작 좌표
"uv_size": [16, 16], // 잘라낼 크기
"size": [16, 16]
}
레이어는 “위/아래 순서표”입니다. 숫자가 클수록 위에 보입니다.
"background": {
"type": "image",
"texture": "textures/ui/Black",
"layer": 1
},
"content": {
"type": "panel",
"layer": 5
},
"tooltip": {
"type": "label",
"text": "도움말",
"layer": 10
}
바인딩은 “게임 데이터 → 화면”으로 연결하는 선입니다. 아래 4가지를 먼저 익히면 대부분 해결됩니다.
게임에서 주는 값. 예: #title_text, #visible
값을 바꾸거나 조건을 걸 때 사용합니다.
여러 개 버튼이나 목록을 반복 생성할 때 사용합니다.
현재 항목 번호/정보를 알려주는 바인딩입니다.
예: $visible_binding_type처럼 변수로 저장해 재사용.
once 한 번만 계산always 항상 갱신visible 보일 때만 갱신visibility_changed 보임 상태가 바뀔 때만{
"bindings": [
{
// 게임에서 주는 제목을 내 텍스트에 연결
"binding_name": "#title_text",
"binding_name_override": "#text",
"binding_type": "global"
},
{
// 텍스트가 비어있지 않을 때만 보이기
"binding_type": "view",
"source_property_name": "(not (#text = ''))",
"target_property_name": "#visible"
}
]
}
"button_factory": {
"type": "factory",
"control_ids": {
"button": "@custom.simple_button"
},
"collection_details": {
"collection_name": "form_buttons",
"collection_index_binding": "#index"
},
"bindings": [
{
"binding_type": "collection",
"binding_collection_name": "form_buttons"
}
]
}
Molang은 간단한 계산과 조건을 적는 언어입니다. 어렵게 생각하지 말고 짧게 쓰는 것이 좋습니다.
(#value / 20) 나눗셈(not (#texture = '')) 빈 값 검사(#title_text - 'customUI_') 문자열 빼기 (없으면 그대로)((#a = 'x') and (#b > 5)) 논리 연산실제 예제는 텍스트를 잘라서 여러 데이터를 분리합니다.
// #dialogue_data에서 200자만 남기기
"source_property_name": "(('%.200s' * #dialogue_data) - '\t')"
(#value > 0) 양수인지(#text = '') 비어있는지(not (#visible)) 반대 조건((#title_text - 'customUI_') = #title_text) 패턴을 사용합니다.
이 식이 true면 “접두어가 없다”는 뜻입니다.
* 1은 true/false 값을 1/0으로 바꾸는 간단한 변환입니다.
변수는 “재사용 값”, property_bag은 “컨트롤 안에 저장하는 메모장”이라고 생각하면 쉽습니다.
"$title_text|default": "My UI Title", // 기본값
"custom_panel@common.panel": {
"$title_text": "Override Title", // 덮어쓰기
"$title_color": [1, 0.6, 0.2]
}
variables 배열로 조건에 따라 값을 교체할 수 있습니다.
진행 바 템플릿에서 이전 값과 배율을 저장하는 방식이 대표적입니다.
"property_bag": {
// 이전 값을 저장해 변화를 감지
"#prev_value": 0,
// 진행 바 배율을 메모
"#multiplier": "$multiplier"
}
"my_panel": {
"variables": [
{
"requires": "$touch",
"$panel_size": [360, 220]
},
{
"requires": "(not $touch)",
"$panel_size": [300, 180]
}
],
"size": "$panel_size"
}
둘 다 숨기는 것처럼 보이지만 동작이 다릅니다. 초보자라면 꼭 구분하세요.
요소를 완전히 제거합니다. 공간도 차지하지 않습니다.
보이기만 숨깁니다. 공간은 그대로 유지됩니다.
"pc_only_button": {
"ignored": "$touch" // 터치면 아예 제거
},
"ghost_button": {
"visible": false // 공간은 남기고 숨김
}
기존 화면을 직접 바꾸기보다 “추가”와 “교체”를 활용하는 방식이 안전합니다.
insert_front 앞에 추가insert_back 뒤에 추가remove 조건 기반 삭제"server_form_factory": {
"type": "factory", // 반복 생성기
"control_ids": {
"long_form": "@custom.long_form_replacement",
"custom_form": "@custom.custom_form_replacement"
},
"factory_control_name": "#form_type" // 어떤 템플릿을 쓸지 결정
}
"hud_screen@hud.hud_screen": {
"modifications": [
{
"array_name": "controls",
"operation": "insert_front",
"value": [
{ "my_hud_panel@custom.hud_panel": {} }
]
},
{
"array_name": "controls",
"operation": "remove",
"control_name": "vanilla_button"
}
]
}
"button_factory": {
"type": "factory",
"control_ids": {
"button": "@custom.simple_button"
},
"collection_details": {
"collection_name": "form_buttons",
"collection_index_binding": "#index"
},
"bindings": [
{ "binding_type": "collection", "binding_collection_name": "form_buttons" }
]
}
애니메이션은 화면 전환이나 강조 표현에 사용합니다. 너무 많이 쓰면 성능에 부담이 됩니다.
"loading_animation_alpha_in": {
"anim_type": "alpha", // 투명도 애니메이션
"easing": "out_cubic", // 부드럽게 멈춤
"duration": 0.5,
"from": 0,
"to": 1,
// 다음 애니메이션으로 연결
"next": "@hud.loading_animation_wait"
}
작게 움직이거나 천천히 페이드하는 정도가 안정적입니다.
작은 애니메이션 하나로도 UI가 훨씬 깔끔해 보입니다.
"anims": [
"@demo.fade_in",
{
"anim_type": "color",
"duration": 0.4,
"from": [0.6, 0.3, 0.3, 0.0],
"to": [0.3, 0.6, 0.3, 1.0]
}
]
실제 파일에서 확인된 anim_type 목록입니다. 필요한 것만 골라 쓰세요.
투명도 변화 (페이드 인/아웃)
크기 변화 (커졌다가 작아짐)
위치 이동 (슬라이드)
색상 변화 (토글 강조)
잠시 멈춤 (다음 애니메이션 대기)
전통적인 프레임 애니메이션 (간단한 로딩용)
Aseprite 내보내기용 프레임 애니메이션
"fade_in": {
"anim_type": "alpha", // 투명도
"from": 0,
"to": 1,
"duration": 0.4,
"next": "@demo.wait" // 다음 애니메이션
},
"wait": {
"anim_type": "wait", // 잠시 대기
"duration": 0.6,
"next": "@demo.slide"
},
"slide": {
"anim_type": "offset", // 위치 이동
"from": [0, 0],
"to": [8, 0],
"duration": 0.3
}
실제 예제에서 자주 등장하는 패턴을 쉬운 설명으로 정리했습니다.
채팅/액션바 텍스트에 접두어를 넣고 데이터를 전달합니다.
이전 값을 저장해 변화가 있을 때만 갱신합니다.
게임패드인지 키보드인지에 따라 UI를 나눕니다.
버튼 리스트에서 특정 위치만 보여줄 때 사용합니다.
특정 문자열은 숨기고, 나머지만 보여줍니다.
player_renderer로 캐릭터를 UI에 띄웁니다.
"item_icon": {
"type": "custom", // 특수 렌더러
"renderer": "inventory_item_renderer", // 아이템 그림
"size": [16, 16],
"bindings": [
{
"binding_name": "#item_id_aux",
"binding_type": "global" // 아이템 ID가 들어와야 그림이 보임
}
]
}
버튼이 눌리는 이유는 button_mappings 덕분입니다. 입력을 버튼 동작에 연결합니다.
"my_button": {
"type": "button",
"button_mappings": [
{
"from_button_id": "button.menu_select",
"to_button_id": "button.menu_ok",
"mapping_type": "pressed"
}
]
}
컨트롤러/키보드에서 이동할 버튼 경로를 지정합니다.
"start_button": {
"type": "button",
"focus_identifier": "start",
"default_focus_precedence": 1,
"focus_change_down": "settings"
},
"settings_button": {
"type": "button",
"focus_identifier": "settings",
"focus_change_up": "start"
}
focus_enabled나 버튼 가려짐 여부를 먼저 확인하세요.
실제 예제를 기반으로 핵심 패턴을 요약했습니다. 초보자는 구조만 이해해도 충분합니다.
제작대 이름에 특정 문자열이 있으면 기본 UI를 숨기고 커스텀 패널을 표시합니다.
{
// 제작대 이름에 특정 문자열이 있으면
"binding_type": "view",
"source_property_name": "((#text - 'your_text_to_detect') = #text)",
"target_property_name": "#visible"
}
HUD 타이틀 문자열에 데이터를 넣고 고정 길이로 분할해 여러 줄을 구성합니다.
{
// prefix가 맞을 때만 보이기
"binding_type": "view",
"source_property_name": "(('%.6s' * #nperma) = 'nperma')",
"target_property_name": "#visible"
},
{
// 특정 길이만 잘라서 score1에 넣기
"binding_type": "view",
"source_property_name": "(('%.60s' * #komisi) - ('%.40s' * #komisi) - '\t')",
"target_property_name": "#score1"
}
이전 값과 현재 값을 비교해 증가/감소 애니메이션을 분리합니다.
"animated_bar_panel": {
"property_bag": { "#prev_value": 0 }, // 이전 값을 기억
"bindings": [
{ "binding_type": "view", "source_property_name": "(#changed_value > #prev_value)", "target_property_name": "#collection_length" }
]
}
가로로 이동하는 스크롤을 만들어 아이콘 줄을 넘길 수 있습니다.
{
"type": "scroll_view", // 스크롤 영역
"scrolling_direction": "horizontal", // 가로 스크롤
"scrolling_content": "my_row" // 실제로 움직일 패널
}
토글이 켜질 때 색이 변하면서 반짝이는 효과를 줄 수 있습니다.
"toggle_glow": {
"type": "image", // 빛 효과 이미지
"texture": "glow",
"anims": [
{
"InCol": {
"anim_type": "color", // 색 변화 애니메이션
"duration": 0.4,
"from": [0.6, 0.3, 0.3, 0.0],
"to": [0.3, 0.6, 0.3, 1.0]
}
}
]
}
채팅 텍스트에 특정 플래그가 포함되면 로딩 UI를 생성합니다.
{
// 플래그가 있으면 컬렉션 생성
"binding_type": "view",
"source_property_name": "(not (#text_n - $flag_for_loading_anim = #text_n) * 1)",
"target_property_name": "#collection_length"
}
채팅 문자열을 고정 길이로 나눠 제목/본문/아이콘 정보를 전달합니다.
{
// 아이콘이 aux:로 시작하면 아이템 렌더러 사용
"binding_type": "view",
"source_property_name": "((#notification_icon_texture - 'aux:') * 1)",
"target_property_name": "#item_id_aux"
}
long_form을 교체하고 title_text 값으로 서로 다른 패널을 보여줍니다.
{
// 제목이 같을 때만 보이기
"binding_type": "view",
"source_property_name": "(#title_text = 'magic_learning_station.menu')",
"target_property_name": "#visible"
}
라이브 렌더러와 form_buttons 컬렉션을 사용해 대화창과 선택지를 구성합니다.
"npc_model": {
"type": "custom",
"renderer": "live_player_renderer" // 캐릭터 표시
},
"buttons_stack": {
"factory": { "name": "buttons", "control_name": "npc_interact.button_item" },
"collection_name": "form_buttons"
}
actionbar 텍스트에 접두어와 고정 길이 데이터를 넣어 배경/아이콘/대사를 분해합니다.
{
// 접두어가 dialog:일 때만 표시
"binding_type": "view",
"source_property_name": "(('%.7s' * #actt) = 'dialog:')",
"target_property_name": "#visible"
},
{
// 데이터 슬라이스
"binding_type": "view",
"source_property_name": "(('%.200s' * #dialogue_data) - '\t')",
"target_property_name": "#background"
}
특정 문자열을 가진 채팅 라인을 숨기고, 바인딩을 한 번만 실행합니다.
{
"binding_type": "collection",
"binding_collection_name": "chat_text_grid",
"binding_condition": "once" // 한 번만 실행
},
{
"binding_type": "view",
"source_property_name": "(not (#text = 'clearchat-nperma'))",
"target_property_name": "#visible"
}
StarLib 예제는 템플릿을 활용해 UI를 빠르게 바꾸는 방식을 보여줍니다.
템플릿 화면을 가져오고 텍스처/버튼 스타일만 바꿔서 전체 UI를 바꿉니다.
"long_form@starlib_pkg_screen_template.screen": {
// 템플릿 설정 값만 바꿔서 전체 화면 스타일 변경
"$FORM_TEMPLATE_background_texture": "textures/example/background",
"$BUTTON_STYLE_default_texture": "textures/example/button"
}
여러 폼을 한 화면에 묶어서 보여주는 구조입니다.
"$forms_holder_controls": [
{
// 제목을 뒤집어 비교하는 바인딩으로 폼을 분기
"form@global.reverse_title_binding": {
"$form_size": [280, 225], // 폼 카드 크기
"$scrolling_content": "server_form.buttons_grid" // 버튼 리스트 연결
}
}
]
문자열 키(§m, §p)를 사용해 버튼 크기와 배치를 자동으로 조정합니다.
"advanced_dynamic_button": {
// 왼쪽 버튼 크기 규칙
"$BUTTON_SIZER_left_half": "§m§1§1",
// 오른쪽 버튼 크기 규칙
"$BUTTON_SIZER_right_half": "§m§2§1",
// 높이 규칙이 없을 때의 처리
"$VERTICAL_PROCESSING_no_height_key": "§m§0§0"
}
customUI_ 프리픽스를 활용해 ScriptAPI 폼과 JSON UI를 연결할 수 있습니다.
import * as ui from "@minecraft/server-ui";
const form = new ui.ActionFormData()
.title("customUI_Config_")
.body("Select an option:")
.button("Option 1")
.button("Option 2");
player.show(form).then((response) => {
if (response.canceled) return;
if (response.selection === 0) {
// handle option 1
}
});
system.afterEvents.scriptEventReceive.subscribe((data) => {
// 이벤트에서 필요한 정보만 꺼냄
const { id, sourceEntity, message } = data;
const dynamicToastEvent = (text) => `[UI] ${text}`;
// 특정 이벤트 이름만 처리
if (id === "cn:main") {
// 메시지를 UI 토스트로 전달
sourceEntity.sendMessage(dynamicToastEvent(message));
}
});
모바일은 터치, 콘솔은 패드, PC는 키보드/마우스입니다. 같은 화면도 크기와 이동 방식이 달라집니다.
$touch 터치 입력 가능$console_edition 콘솔 플랫폼$is_pregame 메인 메뉴/로그인$screen_size_x 화면 너비콘솔은 가장자리가 잘릴 수 있어 여백이 필요합니다.
"safe_panel": {
"size": ["90%", "90%"],
"anchor_from": "center",
"anchor_to": "center"
}
터치는 버튼을 크게, 패드는 포커스 이동을 꼭 설정하세요.
"start_button": {
"variables": [
{ "requires": "$touch", "$btn_size": [60, 60] },
{ "$btn_size": [44, 44] }
],
"size": "$btn_size"
}
focus_identifier와 focus_change_*를 꼭 넣어주세요.
JSON UI는 성능 비용이 큰 편입니다. 문제를 줄이는 습관이 중요합니다.
우선 #visible / size / anchor를 확인하고, 바인딩 값을 최소화한 뒤 다시 확장하세요.
"debug_panel": {
"type": "panel",
"content_log_enabled": true,
"bindings": [
{ "binding_name": "#title_text" }
]
}
초보자가 많이 겪는 문제를 쉽게 정리했습니다.
1) size가 0인지 확인 2) #visible이 false인지 확인 3) anchor가 화면 밖인지 확인
button이 panel 위에 가려져 있거나, 입력 매핑이 없는 경우가 많습니다.
binding_name이 실제로 존재하는지, collection_details가 누락되지 않았는지 확인하세요.
anchor를 기준으로 배치하고, 고정 픽셀 크기를 최소화합니다.
문서에서 반복되는 핵심 용어를 정리했습니다.
UI 컴포넌트를 나누는 이름표.
panel, label, button 같은 UI 구성 요소.
게임 데이터와 UI 속성을 연결하는 규칙.
반복 요소를 만들기 위한 목록 데이터.
컨트롤 내부에서 쓰는 로컬 변수 공간.
player_renderer, gradient_renderer 같은 전용 렌더러.
기존 UI에 요소를 삽입/삭제하는 확장 방식.
동적 컨트롤 생성과 데이터 기반 UI에 사용.
학습이 진행될 때마다 체크해 보세요.